summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/bitmap/list.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c
index 8f5589dd2f..52d4847730 100644
--- a/apps/gui/bitmap/list.c
+++ b/apps/gui/bitmap/list.c
@@ -142,14 +142,19 @@ void list_draw(struct screen *display, struct gui_synclist *list)
142 struct viewport vp; 142 struct viewport vp;
143 vp = list_text[screen]; 143 vp = list_text[screen];
144 vp.width = SCROLLBAR_WIDTH; 144 vp.width = SCROLLBAR_WIDTH;
145 list_text[screen].width -= SCROLLBAR_WIDTH;
146 if (global_settings.scrollbar == SCROLLBAR_SHOW)
147 list_text[screen].x += SCROLLBAR_WIDTH;
148 vp.height = line_height * 145 vp.height = line_height *
149 viewport_get_nb_lines(&list_text[screen]); 146 viewport_get_nb_lines(&list_text[screen]);
150 vp.x = parent->x; 147 vp.x = parent->x;
151 if (global_settings.scrollbar == SCROLLBAR_SHOW_OPPOSITE) 148 list_text[screen].width -= SCROLLBAR_WIDTH;
149 if (!is_rtl && global_settings.scrollbar == SCROLLBAR_SHOW ||
150 is_rtl && global_settings.scrollbar == SCROLLBAR_SHOW_OPPOSITE)
151 {
152 list_text[screen].x += SCROLLBAR_WIDTH;
153 }
154 else
155 {
152 vp.x += list_text[screen].width; 156 vp.x += list_text[screen].width;
157 }
153 display->set_viewport(&vp); 158 display->set_viewport(&vp);
154 gui_scrollbar_draw(display, 0, 0, SCROLLBAR_WIDTH-1, 159 gui_scrollbar_draw(display, 0, 0, SCROLLBAR_WIDTH-1,
155 vp.height, list->nb_items, 160 vp.height, list->nb_items,
@@ -160,7 +165,8 @@ void list_draw(struct screen *display, struct gui_synclist *list)
160 else if (show_title) 165 else if (show_title)
161 { 166 {
162 /* shift everything right a bit... */ 167 /* shift everything right a bit... */
163 if (global_settings.scrollbar == SCROLLBAR_SHOW) 168 if (!is_rtl && global_settings.scrollbar == SCROLLBAR_SHOW ||
169 is_rtl && global_settings.scrollbar == SCROLLBAR_SHOW_OPPOSITE)
164 { 170 {
165 list_text[screen].width -= SCROLLBAR_WIDTH; 171 list_text[screen].width -= SCROLLBAR_WIDTH;
166 list_text[screen].x += SCROLLBAR_WIDTH; 172 list_text[screen].x += SCROLLBAR_WIDTH;