X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fscreen_browser.h;h=e972bd5855d64ee9f4aa8e03167dbbf621009406;hb=2b171daac0ab6ac161514aeaa521fdd51e3f09c6;hp=3954c8d3f3f52246b5e143782e73bfc77f7670e9;hpb=850ad87b588dd6cbb96e5558ee671f2c95cc839d;p=ncmpc.git diff --git a/src/screen_browser.h b/src/screen_browser.h index 3954c8d..e972bd5 100644 --- a/src/screen_browser.h +++ b/src/screen_browser.h @@ -1,56 +1,69 @@ /* ncmpc (Ncurses MPD Client) - * (c) 2004-2009 The Music Player Daemon Project + * (c) 2004-2017 The Music Player Daemon Project * Project homepage: http://musicpd.org - + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ + */ #ifndef SCREEN_BROWSER_H #define SCREEN_BROWSER_H -#include "screen.h" -#include "mpdclient.h" +#include "command.h" #include "config.h" +#include "ncmpc_curses.h" #include +struct mpdclient; +struct mpdclient_playlist; +struct filelist; struct list_window; struct list_window_state; struct screen_browser { struct list_window *lw; - mpdclient_filelist_t *filelist; + struct filelist *filelist; + const char *song_format; }; #ifndef NCMPC_MINI void -sync_highlights(mpdclient_t *c, mpdclient_filelist_t *fl); +screen_browser_sync_highlights(struct filelist *fl, + const struct mpdclient_playlist *playlist); -void -browser_playlist_changed(struct screen_browser *browser, mpdclient_t *c, - int event, gpointer data); +#else + +static inline void +screen_browser_sync_highlights(gcc_unused struct filelist *fl, + gcc_unused const struct mpdclient_playlist *playlist) +{ +} #endif -const char *browser_lw_callback(unsigned index, bool *highlight, char** second_column, void *filelist); +void +screen_browser_paint_directory(WINDOW *w, unsigned width, + bool selected, const char *name); -bool -browser_change_directory(struct screen_browser *browser, mpdclient_t *c, - filelist_entry_t *entry, const char *new_path); +void +screen_browser_paint(const struct screen_browser *browser); + +struct filelist_entry * +browser_get_selected_entry(const struct screen_browser *browser); bool browser_cmd(struct screen_browser *browser,