diff options
Diffstat (limited to 'apps/gui/bitmap/list.c')
-rw-r--r-- | apps/gui/bitmap/list.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c index 27121eac56..1d2df73e09 100644 --- a/apps/gui/bitmap/list.c +++ b/apps/gui/bitmap/list.c | |||
@@ -228,8 +228,6 @@ void list_draw(struct screen *display, struct gui_synclist *list) | |||
228 | int line_indent = 0; | 228 | int line_indent = 0; |
229 | int style = STYLE_DEFAULT; | 229 | int style = STYLE_DEFAULT; |
230 | bool is_selected = false; | 230 | bool is_selected = false; |
231 | icon = list->callback_get_item_icon ? | ||
232 | list->callback_get_item_icon(i, list->data) : Icon_NOICON; | ||
233 | s = list->callback_get_item_name(i, list->data, entry_buffer, | 231 | s = list->callback_get_item_name(i, list->data, entry_buffer, |
234 | sizeof(entry_buffer)); | 232 | sizeof(entry_buffer)); |
235 | entry_name = P2STR(s); | 233 | entry_name = P2STR(s); |
@@ -265,6 +263,17 @@ void list_draw(struct screen *display, struct gui_synclist *list) | |||
265 | && i < list->selected_item + list->selected_size | 263 | && i < list->selected_item + list->selected_size |
266 | && list->show_selection_marker) | 264 | && list->show_selection_marker) |
267 | {/* The selected item must be displayed scrolling */ | 265 | {/* The selected item must be displayed scrolling */ |
266 | #ifdef HAVE_LCD_COLOR | ||
267 | if (list->selection_color) | ||
268 | { | ||
269 | /* Display gradient line selector */ | ||
270 | style = STYLE_GRADIENT; | ||
271 | linedes.text_color = list->selection_color->text_color; | ||
272 | linedes.line_color = list->selection_color->line_color; | ||
273 | linedes.line_end_color = list->selection_color->line_end_color; | ||
274 | } | ||
275 | else | ||
276 | #endif | ||
268 | if (global_settings.cursor_style == 1 | 277 | if (global_settings.cursor_style == 1 |
269 | #ifdef HAVE_REMOTE_LCD | 278 | #ifdef HAVE_REMOTE_LCD |
270 | /* the global_settings.cursor_style check is here to make | 279 | /* the global_settings.cursor_style check is here to make |
@@ -313,7 +322,8 @@ void list_draw(struct screen *display, struct gui_synclist *list) | |||
313 | linedes.style = style; | 322 | linedes.style = style; |
314 | linedes.scroll = is_selected ? true : list->scroll_all; | 323 | linedes.scroll = is_selected ? true : list->scroll_all; |
315 | linedes.line = i % list->selected_size; | 324 | linedes.line = i % list->selected_size; |
316 | 325 | icon = list->callback_get_item_icon ? | |
326 | list->callback_get_item_icon(i, list->data) : Icon_NOICON; | ||
317 | /* the list can have both, one of or neither of cursor and item icons, | 327 | /* the list can have both, one of or neither of cursor and item icons, |
318 | * if both don't apply icon padding twice between the icons */ | 328 | * if both don't apply icon padding twice between the icons */ |
319 | if (show_cursor && have_icons) | 329 | if (show_cursor && have_icons) |