diff --git a/src/screen_search.c b/src/screen_search.c
index 90e075fe96c95d2da9469a74c5bb5ac421d0b997..4ba3c826b9ad52669f5b8e4515d92354b73a3c9a 100644 (file)
--- a/src/screen_search.c
+++ b/src/screen_search.c
return help_text[idx];
}
-static void
-screen_search_paint(void);
-
-static void
-search_repaint(void)
-{
- screen_search_paint();
- wrefresh(browser.lw->w);
-}
-
/* sanity check search mode value */
static void
search_check_mode(void)
}
static void
-screen_search_init(WINDOW *w, int cols, int rows)
+screen_search_init(WINDOW *w, unsigned cols, unsigned rows)
{
browser.lw = list_window_init(w, cols, rows);
if (options.search_format != NULL) {
}
static void
-screen_search_resize(int cols, int rows)
+screen_search_resize(unsigned cols, unsigned rows)
{
list_window_resize(browser.lw, cols, rows);
}
{
if (browser.filelist != NULL && c->events & MPD_IDLE_QUEUE) {
screen_browser_sync_highlights(browser.filelist, &c->playlist);
- search_repaint();
+ screen_search_paint();
}
}
/* fall through */
case CMD_SCREEN_UPDATE:
screen_search_reload(c);
- search_repaint();
+ screen_search_paint();
return true;
case CMD_SCREEN_SEARCH:
search_new(c);
- search_repaint();
+ screen_search_paint();
return true;
case CMD_CLEAR:
search_clear(true);
list_window_reset(browser.lw);
- search_repaint();
+ screen_search_paint();
return true;
default:
if (browser.filelist != NULL &&
browser_cmd(&browser, c, cmd)) {
if (screen_is_visible(&screen_search))
- search_repaint();
+ screen_search_paint();
+ return true;
+ }
+
+ return false;
+}
+
+#ifdef HAVE_GETMOUSE
+static bool
+screen_search_mouse(struct mpdclient *c, int x, int y, mmask_t bstate)
+{
+ if (browser_mouse(&browser, c, x, y, bstate)) {
+ if (screen_is_visible(&screen_search))
+ screen_search_paint();
+
return true;
}
return false;
}
+#endif
const struct screen_functions screen_search = {
.init = screen_search_init,
.paint = screen_search_paint,
.update = screen_search_update,
.cmd = screen_search_cmd,
+#ifdef HAVE_GETMOUSE
+ .mouse = screen_search_mouse,
+#endif
.get_title = screen_search_get_title,
};