Code

aconnect: remove bogus assertions
[ncmpc.git] / src / screen_artist.c
index 52b81d02ad3c662b99d84ea8cc3920781616f38b..672c93f33c366f0b35f206d86e369911bf07dd19 100644 (file)
@@ -88,16 +88,6 @@ screen_artist_lw_callback(unsigned idx, void *data)
        return buf;
 }
 
-static void
-screen_artist_paint(void);
-
-static void
-artist_repaint(void)
-{
-       screen_artist_paint();
-       wrefresh(browser.lw->w);
-}
-
 static void
 string_array_free(GPtrArray *array)
 {
@@ -299,7 +289,7 @@ reload_lists(struct mpdclient *c)
 }
 
 static void
-screen_artist_init(WINDOW *w, int cols, int rows)
+screen_artist_init(WINDOW *w, unsigned cols, unsigned rows)
 {
        browser.lw = list_window_init(w, cols, rows);
        browser.song_format = options.list_format;
@@ -323,7 +313,7 @@ screen_artist_open(struct mpdclient *c)
 }
 
 static void
-screen_artist_resize(int cols, int rows)
+screen_artist_resize(unsigned cols, unsigned rows)
 {
        list_window_resize(browser.lw, cols, rows);
 }
@@ -440,7 +430,7 @@ screen_artist_update(struct mpdclient *c)
                         | MPD_IDLE_QUEUE
 #endif
                         ))
-               artist_repaint();
+               screen_artist_paint();
 }
 
 /* add_query - Add all songs satisfying specified criteria.
@@ -530,7 +520,7 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                        open_album_list(c, g_strdup(selected));
                        list_window_reset(browser.lw);
 
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_ALBUMS:
@@ -560,7 +550,7 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                                list_window_reset(browser.lw);
                        }
 
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_SONGS:
@@ -583,7 +573,7 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                                        list_window_center(browser.lw, idx);
                                }
 
-                               artist_repaint();
+                               screen_artist_paint();
                                return true;
                        }
                        break;
@@ -632,7 +622,7 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                        break;
                }
 
-               artist_repaint();
+               screen_artist_paint();
                break;
 
        case CMD_GO_ROOT_DIRECTORY:
@@ -649,7 +639,7 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                        break;
                }
 
-               artist_repaint();
+               screen_artist_paint();
                break;
 
        case CMD_SELECT:
@@ -701,13 +691,13 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                case LIST_ARTISTS:
                        screen_find(browser.lw, cmd,
                                    screen_artist_lw_callback, artist_list);
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_ALBUMS:
                        screen_find(browser.lw, cmd,
                                    screen_artist_lw_callback, album_list);
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_SONGS:
@@ -720,14 +710,14 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
                        screen_jump(browser.lw,
                                    screen_artist_lw_callback, artist_list,
                                    paint_artist_callback, artist_list);
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_ALBUMS:
                        screen_jump(browser.lw,
                                    screen_artist_lw_callback, album_list,
                                    paint_album_callback, album_list);
-                       artist_repaint();
+                       screen_artist_paint();
                        return true;
 
                case LIST_SONGS:
@@ -743,12 +733,27 @@ screen_artist_cmd(struct mpdclient *c, command_t cmd)
 
        if (screen_artist_lw_cmd(c, cmd)) {
                if (screen_is_visible(&screen_artist))
-                       artist_repaint();
+                       screen_artist_paint();
+               return true;
+       }
+
+       return false;
+}
+
+#ifdef HAVE_GETMOUSE
+static bool
+screen_artist_mouse(struct mpdclient *c, int x, int y, mmask_t bstate)
+{
+       if (browser_mouse(&browser, c, x, y, bstate)) {
+               if (screen_is_visible(&screen_artist))
+                       screen_artist_paint();
+
                return true;
        }
 
        return false;
 }
+#endif
 
 const struct screen_functions screen_artist = {
        .init = screen_artist_init,
@@ -758,5 +763,8 @@ const struct screen_functions screen_artist = {
        .paint = screen_artist_paint,
        .update = screen_artist_update,
        .cmd = screen_artist_cmd,
+#ifdef HAVE_GETMOUSE
+       .mouse = screen_artist_mouse,
+#endif
        .get_title = screen_artist_get_title,
 };