aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* list_window: remove list_window_state_tMax Kellermann2008-10-036-90/+78
| | | | | | | | We do not need to save a stack of list window states. When we return to a parent directory, we just have to find the directory which we come from in the parent list. Note that this patch resets the cursor when going to the root directory, but I think it's not that important, and I will deal with that later.
* filelist: added filelist_find_directory()Max Kellermann2008-10-032-0/+22
| | | | | The function filelist_find_directory() will be useful for the following patch.
* screen_artist: fix reload in "All tracks"Max Kellermann2008-10-031-7/+11
| | | | | | | The variable "album" was set to _("All tracks") when it was empty. When reloading the songs, ncmpc was trying to find an album named "All tracks", which didn't seem to work. Leave "album" in its canonical form and generate the title text on demand.
* charset: pass -1 instead of strlen()Max Kellermann2008-10-031-2/+2
| | | | | The GTK charset functions accept "-1" if the parameter is null terminated.
* support: removed unused function remove_trailing_slash()Max Kellermann2008-10-032-18/+0
|
* use g_basename() instead of basename()Max Kellermann2008-10-036-42/+13
| | | | | g_basename() is always available, no need to implement a fallback. Also use g_path_get_dirname(), g_path_get_basename().
* use g_ascii_isspace() instead of IS_WHITESPACE()Max Kellermann2008-10-032-13/+11
| | | | Don't duplicate code which is already provided by glib.
* use g_ascii_strdown() instead of the custom lowerstr()Max Kellermann2008-10-033-27/+17
| | | | Don't duplicate code which is already provided by glib.
* list_window: removed unused macro "LW_ROW"Max Kellermann2008-10-021-2/+0
|
* 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.