X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fscreen_browser.h;h=b30a1da53beb7632def15dc293e1407acab75e6a;hb=0b00b1a15e23af3ebac1bc8787ef15cd640ccf84;hp=fbe131c5872fc09359e7e563fddfb366f477150a;hpb=cde030e211b3d9ea517403b5d5547b6d374fc470;p=ncmpc.git diff --git a/src/screen_browser.h b/src/screen_browser.h index fbe131c..b30a1da 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-2010 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,62 @@ * 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; }; -void clear_highlights(mpdclient_filelist_t *filelist); -void sync_highlights(mpdclient_t *c, mpdclient_filelist_t *filelist); -void set_highlight(mpdclient_filelist_t *filelist, - mpd_Song *song, - int highlight); +#ifndef NCMPC_MINI +void +screen_browser_sync_highlights(struct filelist *fl, + const struct mpdclient_playlist *playlist); -const char *browser_lw_callback(unsigned index, int *highlight, void *filelist); +#else -int -browser_handle_select(struct screen_browser *browser, mpdclient_t *c); +#include +static inline void +screen_browser_sync_highlights(G_GNUC_UNUSED struct filelist *fl, + G_GNUC_UNUSED const struct mpdclient_playlist *playlist) +{ +} -int browser_handle_select_all(struct screen_browser *browser, mpdclient_t *c); +#endif -int -browser_change_directory(struct screen_browser *browser, mpdclient_t *c, - filelist_entry_t *entry, const char *new_path); +void +screen_browser_paint_directory(WINDOW *w, unsigned width, + bool selected, const char *name); -int -browser_handle_enter(struct screen_browser *browser, mpdclient_t *c); +void +screen_browser_paint(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 +struct filelist_entry * +browser_get_selected_entry(const struct screen_browser *browser); + +bool +browser_cmd(struct screen_browser *browser, + struct mpdclient *c, command_t cmd); #endif