diff --git a/src/screen_browser.h b/src/screen_browser.h
index 3ebcff20a7f2423efa266c312887df3d4e8f0725..b30a1da53beb7632def15dc293e1407acab75e6a 100644 (file)
--- a/src/screen_browser.h
+++ b/src/screen_browser.h
+/* 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
+ * 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 "command.h"
+#include "config.h"
+#include "ncmpc_curses.h"
+
+#include <stdbool.h>
+
+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);
-
-
-const char *browse_lw_callback(unsigned index, int *highlight, void *filelist);
-
-int browse_handle_select(screen_t *screen,
- mpdclient_t *c,
- list_window_t *lw,
- mpdclient_filelist_t *filelist);
-int browse_handle_select_all (screen_t *screen,
- mpdclient_t *c,
- list_window_t *lw,
- mpdclient_filelist_t *filelist);
-int browse_handle_enter(screen_t *screen,
- mpdclient_t *c,
- list_window_t *lw,
- mpdclient_filelist_t *filelist);
-
-#ifdef HAVE_GETMOUSE
-int browse_handle_mouse_event(screen_t *screen,
- mpdclient_t *c,
- list_window_t *lw,
- mpdclient_filelist_t *filelist);
+#ifndef NCMPC_MINI
+
+void
+screen_browser_sync_highlights(struct filelist *fl,
+ const struct mpdclient_playlist *playlist);
+
#else
-#define browse_handle_mouse_event(s,c,lw,filelist) (0)
+
+#include <glib.h>
+static inline void
+screen_browser_sync_highlights(G_GNUC_UNUSED struct filelist *fl,
+ G_GNUC_UNUSED const struct mpdclient_playlist *playlist)
+{
+}
+
#endif
+void
+screen_browser_paint_directory(WINDOW *w, unsigned width,
+ bool selected, const char *name);
+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,
+ struct mpdclient *c, command_t cmd);
+
+#endif