diff options
author | Dave Davenport <qball@gmpclient.org> | 2017-05-24 08:10:03 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2017-05-24 08:10:03 +0200 |
commit | 7639153ad6d6061348f695b601825b7e12a59599 (patch) | |
tree | 168a9eb2426cbcf4021ab6dba0e525e118182ca5 | |
parent | a4694cf808ade4cb818bf8af6e3ac15f2087b3f7 (diff) |
Change page-up/page-down behaviour for barview mode.
-rw-r--r-- | source/widgets/listview.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/widgets/listview.c b/source/widgets/listview.c index 391f4194..1c47999c 100644 --- a/source/widgets/listview.c +++ b/source/widgets/listview.c @@ -639,6 +639,18 @@ static void listview_nav_page_prev_int ( listview *lv ) if ( lv == NULL ) { return; } + if ( lv->type == BARVIEW ){ + + if ( lv->last_offset == 0 ){ + lv->selected = 0; + } else { + lv->selected = lv->last_offset-1; + } + lv->barview.direction = RIGHT_TO_LEFT; + widget_queue_redraw ( WIDGET ( lv ) ); + return; + } + if ( lv->selected < lv->max_elements ) { lv->selected = 0; } @@ -655,6 +667,14 @@ static void listview_nav_page_next_int ( listview *lv ) if ( lv->req_elements == 0 ) { return; } + if ( lv->type == BARVIEW ) { + unsigned int new = lv->last_offset+lv->barview.cur_visible; + lv->selected = MIN ( new, lv->req_elements-1); + lv->barview.direction = LEFT_TO_RIGHT; + + widget_queue_redraw ( WIDGET ( lv ) ); + return; + } lv->selected += ( lv->max_elements ); if ( lv->selected >= lv->req_elements ) { lv->selected = lv->req_elements - 1; |