aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-10-02charset: charset_init() returns character setMax Kellermann3-8/+8
Don't pass "noconvert" to charset_init(). Let charset_init() determine that with g_get_charset() and return its name.
2008-10-02charset: renamed my_strlen() to utf8_width()Max Kellermann6-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".
2008-10-02moved code to charset.cMax Kellermann17-117/+169
Move everything which deals with UTF-8 strings and character set conversion to charset.c, header charset.h.
2008-10-02moved macros from ncmpc.h to main.c and screen.cMax Kellermann3-20/+13
Moved constants which are only used in one source file. Remove several unused macros.
2008-10-02removed LIST_FORMAT, STATUS_FORMATMax Kellermann5-14/+8
Use options.list_format and options.status_format directly instead of these two macros.
2008-10-02moved i18n macros to i18n.hMax Kellermann18-29/+56
Don't make everybody include ncmpc.h just to have generic features. Move generic i18n macros to a separate header.
2008-10-02options: use stdboolMax Kellermann3-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.
2008-10-02removed the deprecated easy_download libraryMax Kellermann2-121/+0
This library isn't being used anymore, delete it.
2008-10-02moved default value macros to defaults.hMax Kellermann5-16/+42
These macros are only used by options.c and conf.c. Move them to a common internal header.
2008-10-02options: initialize options.list_formatMax Kellermann2-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.
2008-10-02removed the debugging function D()Max Kellermann13-82/+1
gdb is for debugging. We don't need D() calls littered all over.
2008-10-02screen_browser: unexport command implementationsMax Kellermann2-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.
2008-10-02screen_lyrics: add screen_lyrics_switch()Max Kellermann4-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.
2008-10-02screen: export function screen_switch()Max Kellermann2-10/+13
Provide an API for switching the currently displayed screen. Rename switch_screen_mode() to screen_switch().
2008-10-02screen: no typedefs for methodsMax Kellermann1-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.
2008-10-02screen_browser: added browser_cmd()Max Kellermann5-111/+76
Merge a lot of code from the 3 browser screen into browser_cmd().
2008-10-02screen_artist: call artist_lw_cmd() at the end of artist_cmd()Max Kellermann1-5/+5
By calling artist_lw_cmd() after the big switch, we can override behaviour, and we can modify the command.
2008-10-02screen_artist: don't call wrefresh() twiceMax Kellermann1-1/+0
artist_repaint() calls wrefresh(), don't call it again after that.
2008-10-02strfsong: constant pointersMax Kellermann3-4/+6
Pass constant pointers to strfsong() and screen_lyrics_load().
2008-10-02screen: include config.h in screen.hMax Kellermann1-0/+1
Since screen.h checks the macros from config.h, we have to include it.
2008-10-02configure.ac: define ENABLE_x_SCREEN instead of DISABLE_x_SCREENMax Kellermann3-15/+1
Everybody who uses the ENABLE_ macros has to include ncmpc.h. We're better off defining those in config.h via configure.ac.
2008-10-01screen_file: set highlights after screen updateMax Kellermann1-0/+1
Due to a missing sync_highlights() call, highlights were gone when the user pressed the "update" hot key.
2008-10-01screen_artist: separate artist and album listsMax Kellermann1-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.
2008-10-01screen_artist: replaced update_metalist()Max Kellermann1-30/+42
Replaced update_metalist() with three specialized functions for mode switching.
2008-10-01screen_artist: added reload_lists()Max Kellermann1-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".
2008-10-01screen_artist: splitted update_metalist()Max Kellermann1-46/+86
Moved special cases for loading artist, album, song lists to separate functions.
2008-10-01screen_artist: convert metalist to GPtrArrayMax Kellermann1-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.
2008-10-01screen_artist: don't insert ".." and "all albums" into listMax Kellermann1-6/+17
Generate these special list entries on the fly.
2008-10-01screen_artist: moved code to artist_lw_cmd()Max Kellermann1-12/+20
To unify the code, wrap list_window_cmd() in artist_lw_cmd(), which properly checks the current mode.
2008-09-28screen_play: no song means id=-1Max Kellermann1-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.
2008-09-28screen_play: repaint highlight when mpd starts playingMax Kellermann1-1/+2
When deciding whether to repaint the current highlight, test if MPD is actually playing. If MPD starts playing, repaint.
2008-09-26screen_play: repaint if current song has changedMax Kellermann1-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.
2008-09-26ignore SIGPIPEMax Kellermann1-0/+9
Ignore SIGPIPE, and handle errno==EPIPE instead.
2008-09-25don't call lyrics_init if plugin is disabledMax Kellermann1-1/+6
If the lyrics screen is disabled at compile time, don't initialize the lyrics library in main().
2008-09-25screen_browser: added hotkey for adding songMax Kellermann6-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.
2008-09-25fix miscellaneous sparse warningsMax Kellermann4-3/+5
Static variables, pointers vs integers, void function returning, ...
2008-09-25Makefile: added "sparse-check" targetMax Kellermann1-0/+15
2008-09-25screen: removed screen.modeMax Kellermann4-30/+14
Everything is now managed with a pointer to the screen_functions struct.
2008-09-25screen: removed screen idsMax Kellermann2-27/+7
Finally remove all screen ids, they are not used anymore.
2008-09-25screen: pass screen_functions pointer to switch_screen_mode()Max Kellermann4-35/+32
Trying to get rid of the screen ids. A pointer to screen_functions is better for identifying a screen.
2008-09-25screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann7-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.
2008-09-25screen: moved code to screen_list.cMax Kellermann5-110/+238
Move the hard-coded screen list and everything which works with this array to screen_list.c.
2008-09-25screen: don't compile disabled sourcesMax Kellermann6-24/+18
Instead of evaluating macros from config.h in the disabled source, don't start the compiler on it at all.
2008-09-25screen_utils: don't call wmove() twiceMax Kellermann1-3/+0
The second wmove() is redundant, because the cursor is already there after waddstr(). This also repairs wide characters in the prompt.
2008-09-25filelist: removed attribute "updated"Max Kellermann5-12/+0
Since all screen updating is now on demand, we don't need this flag anymore.
2008-09-25screen: don't pass screen pointer to method update()Max Kellermann3-4/+6
play_update() is the only update() implementation left, and it does not use the screen pointer. Remove it from the method signature.
2008-09-25screen_play: hide cursor with a timerMax Kellermann1-20/+45
Instead of hiding the cursor in the update() callback, hide it with a glib main loop timeout.
2008-09-25screen_search: removed update() methodMax Kellermann1-25/+44
Repaint the search screen on demand. No need for the update() method anymore.
2008-09-25screen_search: removed version check from paint() methodMax Kellermann1-5/+1
The check wasn't actually doing anything, except leaking memory. Remove it.
2008-09-25screen_file: removed update() methodMax Kellermann1-23/+50
Repaint the file screen on demand. No need for the update() method anymore.