diff options
Diffstat (limited to 'apps/gui/list.c')
-rw-r--r-- | apps/gui/list.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c index a8bbce8cda..6a7d21cc4b 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c @@ -141,7 +141,7 @@ static void gui_list_flash(struct gui_list * gui_list) int selected_line=gui_list->selected_item-gui_list->start_item+SHOW_LIST_TITLE; #ifdef HAVE_LCD_BITMAP int line_ypos=display->getymargin()+display->char_height*selected_line; - if (global_settings.invert_cursor) + if (global_settings.cursor_style) { int line_xpos=display->getxmargin(); display->set_drawmode(DRMODE_COMPLEMENT); @@ -313,7 +313,7 @@ static void gui_list_draw_smart(struct gui_list *gui_list) draw_scrollbar = (global_settings.scrollbar && lines < gui_list->nb_items); - draw_cursor = !global_settings.invert_cursor && + draw_cursor = !global_settings.cursor_style && gui_list->show_selection_marker; text_pos = 0; /* here it's in pixels */ if(draw_scrollbar || SHOW_LIST_TITLE) /* indent if there's @@ -390,11 +390,28 @@ static void gui_list_draw_smart(struct gui_list *gui_list) current_item < gui_list->selected_item + gui_list->selected_size) {/* The selected item must be displayed scrolling */ #ifdef HAVE_LCD_BITMAP - if (global_settings.invert_cursor)/* Display inverted-line-style*/ + if (global_settings.cursor_style == 1 +#ifdef HAVE_REMOTE_LCD + || display->screen_type == SCREEN_REMOTE +#endif + ) { + /* Display inverted-line-style */ style |= STYLE_INVERT; } - else /* if (!global_settings.invert_cursor) */ +#ifdef HAVE_LCD_COLOR + else if (global_settings.cursor_style == 2) + { + /* Display colour line selector */ + style |= STYLE_COLORBAR; + } + else if (global_settings.cursor_style == 3) + { + /* Display gradient line selector */ + style |= STYLE_GRADIENT; + } +#endif + else /* if (!global_settings.cursor_style) */ { if (current_item % gui_list->selected_size != 0) draw_cursor = false; |