X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fscreen_browser.h;h=6679a93cc797f580c10643869d2426def1e9c3f6;hb=911670a90a1a2f50651351157f16775a00f784da;hp=a867eda0a7a0b34f339fc334051d2b34d42dd904;hpb=92cf0efffffeb95fbefc57505d778e6fdbd772d4;p=ncmpc.git diff --git a/src/screen_browser.h b/src/screen_browser.h index a867eda..6679a93 100644 --- a/src/screen_browser.h +++ b/src/screen_browser.h @@ -1,8 +1,6 @@ -/* - * $Id$ - * - * (c) 2004 by Kalle Wallin - * Copyright (C) 2008 Max Kellermann +/* ncmpc (Ncurses MPD Client) + * (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 @@ -13,54 +11,63 @@ * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * + * 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; - struct list_window_state *lw_state; - mpdclient_filelist_t *filelist; + struct filelist *filelist; + const char *song_format; }; -void -sync_highlights(mpdclient_t *c, mpdclient_filelist_t *fl); +#ifndef NCMPC_MINI void -browser_playlist_changed(struct screen_browser *browser, mpdclient_t *c, - int event, gpointer data); +screen_browser_sync_highlights(struct filelist *fl, + const struct mpdclient_playlist *playlist); + +#else -const char *browser_lw_callback(unsigned index, int *highlight, void *filelist); +#include +static inline void +screen_browser_sync_highlights(gcc_unused struct filelist *fl, + gcc_unused const struct mpdclient_playlist *playlist) +{ +} -int -browser_handle_select(struct screen_browser *browser, mpdclient_t *c); +#endif -int browser_handle_select_all(struct screen_browser *browser, mpdclient_t *c); +void +screen_browser_paint_directory(WINDOW *w, unsigned width, + bool selected, const char *name); -int -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); -int -browser_handle_enter(struct screen_browser *browser, mpdclient_t *c); +struct filelist_entry * +browser_get_selected_entry(const struct screen_browser *browser); -#ifdef HAVE_GETMOUSE -int browser_handle_mouse_event(struct screen_browser *browser, mpdclient_t *c); -#else -#define browser_handle_mouse_event(browser, c) (0) -#endif +bool +browser_cmd(struct screen_browser *browser, + struct mpdclient *c, command_t cmd); #endif