aboutsummaryrefslogtreecommitdiffstats
path: root/src/screen_lyrics.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/screen_lyrics.c')
-rw-r--r--src/screen_lyrics.c36
1 files changed, 4 insertions, 32 deletions
diff --git a/src/screen_lyrics.c b/src/screen_lyrics.c
index e6e2cf0df..5356548c9 100644
--- a/src/screen_lyrics.c
+++ b/src/screen_lyrics.c
@@ -289,40 +289,12 @@ lyrics_update(mpd_unused screen_t *screen, mpd_unused mpdclient_t *c)
static int
lyrics_cmd(screen_t *screen, mpdclient_t *c, command_t cmd)
{
+ if (list_window_scroll_cmd(lw, current.lines->len, cmd))
+ return 1;
+
lw->repaint=1;
+
switch(cmd) {
- case CMD_LIST_NEXT:
- if (current.lines != NULL && lw->start+lw->rows < current.lines->len+1)
- lw->start++;
- return 1;
- case CMD_LIST_PREVIOUS:
- if( lw->start >0 )
- lw->start--;
- return 1;
- case CMD_LIST_FIRST:
- lw->start = 0;
- return 1;
- case CMD_LIST_LAST:
- if ((unsigned)lyrics_text_rows > lw->rows)
- lw->start = lyrics_text_rows - lw->rows;
- else
- lw->start = 0;
- return 1;
- case CMD_LIST_NEXT_PAGE:
- lw->start = lw->start + lw->rows - 1;
- if (lw->start + lw->rows >= (unsigned)lyrics_text_rows + 1) {
- if ((unsigned)lyrics_text_rows + 1 > lw->rows)
- lw->start = lyrics_text_rows + 1 - lw->rows;
- else
- lw->start = 0;
- }
- return 1;
- case CMD_LIST_PREVIOUS_PAGE:
- if (lw->start > lw->rows)
- lw->start -= lw->rows;
- else
- lw->start = 0;
- return 1;
case CMD_SELECT:
/* XXX */
if (current.loader != NULL) {