aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* screen_browser: added constant playlist_formatMax Kellermann2008-10-021-6/+3
| | | | | Moved the format string for playlist files to the constant "playlist_format".
* fix compiler errors without locale.hMax Kellermann2008-10-023-1/+20
| | | | | The code did not compile when HAVE_LOCALE_H was not set. Also don't compile all that code in charset.c, when there is no locale.h.
* screen_lyrics: character set conversionMax Kellermann2008-10-021-1/+9
| | | | | Convert the lyrics to the current character set before displaying them.
* charset: convert strings with fallbackMax Kellermann2008-10-021-24/+10
| | | | | Use g_convert_with_fallback() for charset conversion, and don't print a status bar message on error.
* charset: charset_init() returns character setMax Kellermann2008-10-023-8/+8
| | | | | Don't pass "noconvert" to charset_init(). Let charset_init() determine that with g_get_charset() and return its name.
* charset: renamed my_strlen() to utf8_width()Max Kellermann2008-10-026-16/+17
| | | | | | my_strlen() is a bad name for the function, since the return value is not a length, but a visible width on the screen. Rename it to utf8_width() and change its return type to "unsigned".
* moved code to charset.cMax Kellermann2008-10-0217-117/+169
| | | | | Move everything which deals with UTF-8 strings and character set conversion to charset.c, header charset.h.
* moved macros from ncmpc.h to main.c and screen.cMax Kellermann2008-10-023-20/+13
| | | | | Moved constants which are only used in one source file. Remove several unused macros.
* removed LIST_FORMAT, STATUS_FORMATMax Kellermann2008-10-025-14/+8
| | | | | Use options.list_format and options.status_format directly instead of these two macros.
* moved i18n macros to i18n.hMax Kellermann2008-10-0218-29/+56
| | | | | Don't make everybody include ncmpc.h just to have generic features. Move generic i18n macros to a separate header.
* options: use stdboolMax Kellermann2008-10-023-32/+30
| | | | | Use the standard "bool" type instead of glib's "gboolean". This way, options.h doesn't have to include the fat glib.h.
* removed the deprecated easy_download libraryMax Kellermann2008-10-022-121/+0
| | | | This library isn't being used anymore, delete it.
* moved default value macros to defaults.hMax Kellermann2008-10-025-16/+42
| | | | | These macros are only used by options.c and conf.c. Move them to a common internal header.
* options: initialize options.list_formatMax Kellermann2008-10-022-5/+5
| | | | | | Instead of checking whether options.list_format is set in the LIST_FORMAT macro, initialize it once with options.list_format. Same for options.status_format / STATUS_FORMAT.
* removed the debugging function D()Max Kellermann2008-10-0213-82/+1
| | | | gdb is for debugging. We don't need D() calls littered all over.
* screen_browser: unexport command implementationsMax Kellermann2008-10-022-23/+7
| | | | | | When we created created browser_cmd(), several functions of the screen_browser API weren't used by other sources anymore. We can now unexport them.
* screen_lyrics: add screen_lyrics_switch()Max Kellermann2008-10-024-2/+51
| | | | | | screen_lyrics_switch() opens the lyrics screen and displays the lyrics of the specified song. This way, the user may view the lyrics of any song in the database browser.
* screen: export function screen_switch()Max Kellermann2008-10-022-10/+13
| | | | | Provide an API for switching the currently displayed screen. Rename switch_screen_mode() to screen_switch().
* screen: no typedefs for methodsMax Kellermann2008-10-021-20/+9
| | | | | Since the method types are used only once, we do not need typedefs for that. Declare the method types within struct screen_functions.
* screen_browser: added browser_cmd()Max Kellermann2008-10-025-111/+76
| | | | Merge a lot of code from the 3 browser screen into browser_cmd().
* screen_artist: call artist_lw_cmd() at the end of artist_cmd()Max Kellermann2008-10-021-5/+5
| | | | | By calling artist_lw_cmd() after the big switch, we can override behaviour, and we can modify the command.
* screen_artist: don't call wrefresh() twiceMax Kellermann2008-10-021-1/+0
| | | | | artist_repaint() calls wrefresh(), don't call it again after that.
* strfsong: constant pointersMax Kellermann2008-10-023-4/+6
| | | | Pass constant pointers to strfsong() and screen_lyrics_load().
* screen: include config.h in screen.hMax Kellermann2008-10-021-0/+1
| | | | Since screen.h checks the macros from config.h, we have to include it.
* Makefile.am: don't use $(addprefix ...)Max Kellermann2008-10-021-1/+1
| | | | The function "addprefix" is a GNU extension, don't use it.
* Makefile.am: don't declare $(lyrics_plugin_dir) twiceMax Kellermann2008-10-021-1/+0
| | | | | The variable $(lyrics_plugin_dir) was already declared in configure.ac, don't declare it again in Makefile.am.
* configure.ac: define ENABLE_x_SCREEN instead of DISABLE_x_SCREENMax Kellermann2008-10-024-24/+9
| | | | | Everybody who uses the ENABLE_ macros has to include ncmpc.h. We're better off defining those in config.h via configure.ac.
* screen_file: set highlights after screen updateMax Kellermann2008-10-011-0/+1
| | | | | Due to a missing sync_highlights() call, highlights were gone when the user pressed the "update" hot key.
* screen_artist: separate artist and album listsMax Kellermann2008-10-011-36/+55
| | | | | | "metalist" can have different meanings, depending on the mode. Replace it with two separate variables "artist_list" and "album_list". This way, we can optimize screen updates later.
* screen_artist: replaced update_metalist()Max Kellermann2008-10-011-30/+42
| | | | | Replaced update_metalist() with three specialized functions for mode switching.
* screen_artist: added reload_lists()Max Kellermann2008-10-011-3/+23
| | | | | | Some callers of update_metalist() want to reload the list contents. Add an optimized function reload_lists() which does not modify the global variables "mode", "artist", "album".
* screen_artist: splitted update_metalist()Max Kellermann2008-10-011-46/+86
| | | | | Moved special cases for loading artist, album, song lists to separate functions.
* screen_artist: convert metalist to GPtrArrayMax Kellermann2008-10-011-33/+72
| | | | | | | | | A linked list is quite uncomfortable here because there is a lot of indexed access to the list. Use a GPtrArray of strings instead. Note that mpdclient_get_artists_utf8() and mpdclient_get_albums_utf8() return a linked list, and sorting is also performed on the linked list. This will be optimized later.
* screen_artist: don't insert ".." and "all albums" into listMax Kellermann2008-10-011-6/+17
| | | | Generate these special list entries on the fly.
* screen_artist: moved code to artist_lw_cmd()Max Kellermann2008-10-011-12/+20
| | | | | To unify the code, wrap list_window_cmd() in artist_lw_cmd(), which properly checks the current mode.
* screen_play: no song means id=-1Max Kellermann2008-09-281-3/+3
| | | | | | "prev_song_id" and "current_song_id" had value 0 if MPD was not playing at all. This way, ncmpc cannot see the difference between "song 0 playing" and "not playing". Change "not playing" to -1.
* screen_play: repaint highlight when mpd starts playingMax Kellermann2008-09-281-1/+2
| | | | | When deciding whether to repaint the current highlight, test if MPD is actually playing. If MPD starts playing, repaint.
* screen_play: repaint if current song has changedMax Kellermann2008-09-261-8/+10
| | | | | | | | The play_update() function was reduced too much: it didn't repaint the screen when the current song changed. Add check for that. Don't repaint the screen in center_playing_item(), make the caller do it.
* ignore SIGPIPEMax Kellermann2008-09-261-0/+9
| | | | Ignore SIGPIPE, and handle errno==EPIPE instead.
* don't call lyrics_init if plugin is disabledMax Kellermann2008-09-251-1/+6
| | | | | If the lyrics screen is disabled at compile time, don't initialize the lyrics library in main().
* screen_browser: added hotkey for adding songMax Kellermann2008-09-256-1/+37
| | | | | CMD_ADD ('a') appends a song to the playlist, no matter if it is already there, i.e. unlike CMD_SELECT, it does not toggle the song.
* fix miscellaneous sparse warningsMax Kellermann2008-09-254-3/+5
| | | | Static variables, pointers vs integers, void function returning, ...
* Makefile: added "sparse-check" targetMax Kellermann2008-09-252-0/+17
|
* screen: removed screen.modeMax Kellermann2008-09-254-30/+14
| | | | | Everything is now managed with a pointer to the screen_functions struct.
* screen: removed screen idsMax Kellermann2008-09-252-27/+7
| | | | Finally remove all screen ids, they are not used anymore.
* screen: pass screen_functions pointer to switch_screen_mode()Max Kellermann2008-09-254-35/+32
| | | | | Trying to get rid of the screen ids. A pointer to screen_functions is better for identifying a screen.
* screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann2008-09-257-8/+10
| | | | | | Screen code shouldn't know anything about the screen ids (which will be eliminated completely later). Instead of comparing ids, compare the screen_functions pointer.
* screen: moved code to screen_list.cMax Kellermann2008-09-255-110/+238
| | | | | Move the hard-coded screen list and everything which works with this array to screen_list.c.
* screen: don't compile disabled sourcesMax Kellermann2008-09-258-26/+26
| | | | | Instead of evaluating macros from config.h in the disabled source, don't start the compiler on it at all.
* screen_utils: don't call wmove() twiceMax Kellermann2008-09-251-3/+0
| | | | | The second wmove() is redundant, because the cursor is already there after waddstr(). This also repairs wide characters in the prompt.