From 3f8c5378c4767f0b9519c537f91585eaaf4bb53c Mon Sep 17 00:00:00 2001 From: Dave Davenport Date: Tue, 3 Jan 2017 20:28:19 +0100 Subject: [PATCH] Reverse scrollbar when listview is reversed. --- source/widgets/listview.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/widgets/listview.c b/source/widgets/listview.c index 1f4c2956..801dd006 100644 --- a/source/widgets/listview.c +++ b/source/widgets/listview.c @@ -163,7 +163,11 @@ static void listview_draw ( widget *wid, cairo_t *draw ) // Set these all together to make sure they update consistently. scrollbar_set_max_value ( lv->scrollbar, lv->req_elements ); scrollbar_set_handle_length ( lv->scrollbar, lv->cur_columns * lv->max_rows ); - scrollbar_set_handle ( lv->scrollbar, lv->selected ); + if ( lv->reverse ) { + scrollbar_set_handle ( lv->scrollbar, lv->req_elements - lv->selected -1 ); + } else { + scrollbar_set_handle ( lv->scrollbar, lv->selected ); + } lv->last_offset = offset; int spacing_vert = distance_get_pixel ( lv->spacing, ORIENTATION_VERTICAL ); int spacing_hori = distance_get_pixel ( lv->spacing, ORIENTATION_HORIZONTAL );