aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen_artist.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-11-18screen: method cmd() returns boolMax Kellermann1-6/+6
Return true/false instead of 1/0.
2008-11-18screen_{file,artist,search}: repaint only if screen is visibleMax Kellermann1-1/+2
Don't repaint the screen after browser_cmd() if another screen has been selected meanwhile.
2008-11-07mpdclient: removed _utf8 suffix from function namesMax Kellermann1-2/+2
All functions must receive UTF-8 file names. Delete all which still work with locale strings, and remove the _utf8 suffix from the others.
2008-11-07mpdclient: expect UTF-8 stringsMax Kellermann1-7/+7
Don't convert the character set of strings to and from the current locale. This library cannot know what the strings are going to be used for, so it should not mess with them.
2008-10-06include ncursesw/ncurses.h if availableMax Kellermann1-1/+0
When compiling with libncursesw, include <ncursesw/ncurses.h> instead of <ncurses.h> (if available).
2008-10-03screen: export the global variable "screen"Max Kellermann1-9/+7
screen_t is a singleton. We do not have to pass it around everywhere. Export the one global variable.
2008-10-03screen: don't pass mpdclient pointer to method paint()Max Kellermann1-3/+3
None of the paint() implementations acutally uses the mpdclient pointer. Remove it from the method signature.
2008-10-03screen_artist: better screen titleMax Kellermann1-7/+13
The artist screen shouldn't be marked "experimental" anymore. Describe the current state of the screen in the title, instead of always writing "Artist".
2008-10-03list_window: remove list_window_state_tMax Kellermann1-11/+63
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.
2008-10-03screen_artist: fix reload in "All tracks"Max Kellermann1-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.
2008-10-02moved code to charset.cMax Kellermann1-1/+1
Move everything which deals with UTF-8 strings and character set conversion to charset.c, header charset.h.
2008-10-02moved i18n macros to i18n.hMax Kellermann1-1/+1
Don't make everybody include ncmpc.h just to have generic features. Move generic i18n macros to a separate header.
2008-10-02removed the debugging function D()Max Kellermann1-1/+0
gdb is for debugging. We don't need D() calls littered all over.
2008-10-02screen_browser: added browser_cmd()Max Kellermann1-30/+15
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-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-25screen_browser: added hotkey for adding songMax Kellermann1-1/+6
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-25screen: replaced get_cur_mode_id() with screen_is_visible()Max Kellermann1-1/+1
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: don't compile disabled sourcesMax Kellermann1-5/+0
Instead of evaluating macros from config.h in the disabled source, don't start the compiler on it at all.
2008-09-25filelist: removed attribute "updated"Max Kellermann1-2/+0
Since all screen updating is now on demand, we don't need this flag anymore.
2008-09-25screen_artist: removed update() methodMax Kellermann1-25/+59
Repaint the artist screen on demand. No need for the update() method anymore.
2008-09-25screen: don't pass screen pointer to method paint()Max Kellermann1-3/+3
None of the paint() implementations actually use the screen pointer - remove it from the method signature.
2008-09-25screen: don't call wrefresh() in methods paint() and update()Max Kellermann1-2/+0
screen_paint() and screen_update() are responsible for refreshing the screen. We can remove all wrefresh() and wnoutrefresh() invocations from all paint() and update() method implementations.
2008-09-25list_window: removed property "clear"Max Kellermann1-4/+0
Without clearing previous screen contents, there may be corruptions, make this mandatory and optimize screen clearing.
2008-09-25code style, indent with tabs XMax Kellermann1-3/+1
Follow the same code style als MPD itself.
2008-09-22screen: simplified CMD_SCREEN_UPDATE handlersMax Kellermann1-2/+0
Since screen.c has default code for CMD_SCREEN_UPDATE, return 0 from the command handlers and let screen.c do the rest.
2008-09-22screen: don't set list_window->repaintMax Kellermann1-2/+0
Several screens ignore the attribute list_window->repaint. Don't set it there. It will be replaced with a more intelligent repaint algorithm later.
2008-09-21browse: ensure that filelist!=NULLMax Kellermann1-0/+3
There are several places where browser.filelist can become NULL. Catch that everywhere and generate an empty filelist in this case.
2008-09-21screen_artist: check if anything is selectedMax Kellermann1-0/+8
Don't try to call add_query() with no valid selection, this causes a segfault. This usually happens when ncmpc isn't connected.
2008-09-19filelist: provide more functions for working with a filelistMax Kellermann1-9/+4
Avoid direct accesses to the filelist struct, provide an API for that.
2008-09-19filelist: drop "mpdclient" prefixMax Kellermann1-3/+3
The separate filelist library does not depend on mpdclient, so the prefix is superfluous.
2008-09-18screen_browser: moved code to browser_playlist_changed()Max Kellermann1-13/+2
Merge code from all 3 browser screens into one generic browser function.
2008-09-18screen_browser: moved code to screen_browser.cMax Kellermann1-9/+6
Isolate the generic browser code from the directory browser.
2008-09-18screen_browser: added struct screen_browserMax Kellermann1-79/+91
We are going to separate the browser functions from screen_file.c. Move all variables which are going to be needed by this code.
2008-09-18renamed screen_browse.h to screen_browser.hMax Kellermann1-1/+1
2008-09-18screen: removed empty methodsMax Kellermann1-6/+0
Declaring empty methods is of no use. If a method is empty, we should set it to NULL in the screen_functions struct.
2008-09-17screen_artist: fix compilation errorsMax Kellermann1-26/+29
Unfortunately when I fixed the GCC warnings and refactored lots of the code, the "artist" screen was disabled. This patch applies all API changes and fixes all warnings.
2008-09-17code style, indent with tabs IVMax Kellermann1-335/+316
Follow the same code style als MPD itself.
2008-09-17list_window: don't reset *highlight to 0Max Kellermann1-1/+0
Since the list_window code sets highlight to 0 before it calls the list_callback, the callback itself doesn't have to reset the flag.
2008-09-17replaced get_screen_X() with static screen_functions variableMax Kellermann1-20/+12
Compile time initialization saves resources, compared to run-time initialization. Declare all screen_function structs as global variables, and remove all get functions.
2008-09-15include cleanupMax Kellermann1-6/+7
A header should include all headers which he needs. Move local includes on top, and let foo.c include foo.h in the first line, to automatically test its dependencies.
2008-09-15remove unused static functionsMax Kellermann1-2/+2
Also remove some commented code and unused function parameters.
2006-11-11Daniel rocked the houseAndreas Obergrusberger1-0/+34
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@5041 09075e82-0dd4-0310-85a5-a0d7c8717e4f