Code

screen_interface: add method mouse(), replacing CMD_MOUSE_EVENT
[ncmpc.git] / src / screen_browser.c
index ff209db2bfb46146dca776b051235053a2349304..e0c37cbc2e0a48a04e1a66ee3be030b6aad6786a 100644 (file)
@@ -1,5 +1,5 @@
 /* ncmpc (Ncurses MPD Client)
- * (c) 2004-2010 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
@@ -351,16 +351,15 @@ browser_handle_select_all(struct screen_browser *browser, struct mpdclient *c)
 }
 
 #ifdef HAVE_GETMOUSE
-static int
-browser_handle_mouse_event(struct screen_browser *browser, struct mpdclient *c)
+
+bool
+browser_mouse(struct screen_browser *browser,
+             struct mpdclient *c, gcc_unused int x, int row, mmask_t bstate)
 {
-       int row;
        unsigned prev_selected = browser->lw->selected;
-       unsigned long bstate;
 
-       if (screen_get_mouse_event(c, &bstate, &row) ||
-           list_window_mouse(browser->lw, bstate, row))
-               return 1;
+       if (list_window_mouse(browser->lw, bstate, row))
+               return true;
 
        list_window_set_cursor(browser->lw, browser->lw->start + row);
 
@@ -372,8 +371,9 @@ browser_handle_mouse_event(struct screen_browser *browser, struct mpdclient *c)
                        browser_handle_select(browser, c);
        }
 
-       return 1;
+       return true;
 }
+
 #endif
 
 static void
@@ -403,16 +403,11 @@ browser_cmd(struct screen_browser *browser,
                            browser->filelist);
                return true;
        case CMD_LIST_JUMP:
-               screen_jump(browser->lw, browser_lw_callback,
-                           screen_browser_paint_callback, browser->filelist);
+               screen_jump(browser->lw,
+                           browser_lw_callback, browser->filelist,
+                           screen_browser_paint_callback, browser);
                return true;
 
-#ifdef HAVE_GETMOUSE
-       case CMD_MOUSE_EVENT:
-               browser_handle_mouse_event(browser, c);
-               return true;
-#endif
-
 #ifdef ENABLE_SONG_SCREEN
        case CMD_SCREEN_SONG:
                song = browser_get_selected_song(browser);