summaryrefslogtreecommitdiff
path: root/apps/menus
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2013-05-06 07:20:40 +0200
committerThomas Martitz <kugel@rockbox.org>2014-03-03 15:14:16 +0100
commit05a67d021c8fbb10b2654f8378b549901dd4c520 (patch)
tree23d0fa787d7373bf2ea08d1678cff47306a1a55d /apps/menus
parent20e114c1a0f086e432f374fe0ecebf014a571448 (diff)
downloadrockbox-05a67d021c8fbb10b2654f8378b549901dd4c520.tar.gz
rockbox-05a67d021c8fbb10b2654f8378b549901dd4c520.zip
Touchscreen: Show a line separator in lists.
This patch adds a configurable line separator between list items, very similar to lists in Android. Additionally, below the list item there is a thicker line. It can be disabled in the settings. Its color can be configured as well. Remote and monochrome displays are explicitly unsupported. If there is desire this can be changed but it doesn't seem useful to me. Change-Id: I005313b0d8f5ecd15864bf20e66ea4e3390d8b7d
Diffstat (limited to 'apps/menus')
-rw-r--r--apps/menus/theme_menu.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c
index 93511f8197..f64ded1615 100644
--- a/apps/menus/theme_menu.c
+++ b/apps/menus/theme_menu.c
@@ -68,6 +68,7 @@ enum Colors {
68 COLOR_LSS, 68 COLOR_LSS,
69 COLOR_LSE, 69 COLOR_LSE,
70 COLOR_LST, 70 COLOR_LST,
71 COLOR_SEP,
71 COLOR_COUNT 72 COLOR_COUNT
72}; 73};
73static struct colour_info 74static struct colour_info
@@ -80,6 +81,7 @@ static struct colour_info
80 [COLOR_LSS] = {&global_settings.lss_color, LANG_SELECTOR_START_COLOR}, 81 [COLOR_LSS] = {&global_settings.lss_color, LANG_SELECTOR_START_COLOR},
81 [COLOR_LSE] = {&global_settings.lse_color, LANG_SELECTOR_END_COLOR}, 82 [COLOR_LSE] = {&global_settings.lse_color, LANG_SELECTOR_END_COLOR},
82 [COLOR_LST] = {&global_settings.lst_color, LANG_SELECTOR_TEXT_COLOR}, 83 [COLOR_LST] = {&global_settings.lst_color, LANG_SELECTOR_TEXT_COLOR},
84 [COLOR_SEP] = {&global_settings.list_separator_color, LANG_LIST_SEPARATOR_COLOR},
83}; 85};
84 86
85/** 87/**
@@ -91,7 +93,7 @@ static int set_color_func(void* color)
91 /* Don't let foreground be set the same as background and vice-versa */ 93 /* Don't let foreground be set the same as background and vice-versa */
92 if (c == COLOR_BG) 94 if (c == COLOR_BG)
93 banned_color = *colors[COLOR_FG].setting; 95 banned_color = *colors[COLOR_FG].setting;
94 else if (c == COLOR_FG) 96 else if (c == COLOR_FG || c == COLOR_SEP)
95 banned_color = *colors[COLOR_BG].setting; 97 banned_color = *colors[COLOR_BG].setting;
96 98
97 old_color = *colors[c].setting; 99 old_color = *colors[c].setting;
@@ -113,6 +115,7 @@ static int reset_color(void)
113 global_settings.lss_color = LCD_DEFAULT_LS; 115 global_settings.lss_color = LCD_DEFAULT_LS;
114 global_settings.lse_color = LCD_DEFAULT_BG; 116 global_settings.lse_color = LCD_DEFAULT_BG;
115 global_settings.lst_color = LCD_DEFAULT_FG; 117 global_settings.lst_color = LCD_DEFAULT_FG;
118 global_settings.list_separator_color = LCD_DARKGRAY;
116 119
117 settings_save(); 120 settings_save();
118 settings_apply(false); 121 settings_apply(false);
@@ -129,6 +132,8 @@ MENUITEM_FUNCTION(set_lse_col, MENU_FUNC_USEPARAM, ID2P(LANG_SELECTOR_END_COLOR)
129 set_color_func, (void*)COLOR_LSE, NULL, Icon_NOICON); 132 set_color_func, (void*)COLOR_LSE, NULL, Icon_NOICON);
130MENUITEM_FUNCTION(set_lst_col, MENU_FUNC_USEPARAM, ID2P(LANG_SELECTOR_TEXT_COLOR), 133MENUITEM_FUNCTION(set_lst_col, MENU_FUNC_USEPARAM, ID2P(LANG_SELECTOR_TEXT_COLOR),
131 set_color_func, (void*)COLOR_LST, NULL, Icon_NOICON); 134 set_color_func, (void*)COLOR_LST, NULL, Icon_NOICON);
135MENUITEM_FUNCTION(set_sep_col, MENU_FUNC_USEPARAM, ID2P(LANG_LIST_SEPARATOR_COLOR),
136 set_color_func, (void*)COLOR_SEP, NULL, Icon_NOICON);
132MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), 137MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS),
133 reset_color, NULL, NULL, Icon_NOICON); 138 reset_color, NULL, NULL, Icon_NOICON);
134 139
@@ -140,7 +145,7 @@ MAKE_MENU(lss_settings, ID2P(LANG_SELECTOR_COLOR_MENU),
140/* now the actual menu */ 145/* now the actual menu */
141MAKE_MENU(colors_settings, ID2P(LANG_COLORS_MENU), 146MAKE_MENU(colors_settings, ID2P(LANG_COLORS_MENU),
142 NULL, Icon_Display_menu, 147 NULL, Icon_Display_menu,
143 &lss_settings, 148 &lss_settings, &set_sep_col,
144 &set_bg_col, &set_fg_col, &reset_colors 149 &set_bg_col, &set_fg_col, &reset_colors
145 ); 150 );
146 151
@@ -388,6 +393,9 @@ MENUITEM_FUNCTION(browse_themes, MENU_FUNC_USEPARAM,
388#ifdef HAVE_LCD_BITMAP 393#ifdef HAVE_LCD_BITMAP
389MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL); 394MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL);
390#endif 395#endif
396#if LCD_DEPTH > 1
397MENUITEM_SETTING(sep_menu, &global_settings.list_separator_height, NULL);
398#endif
391 399
392MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU), 400MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU),
393 NULL, Icon_Wps, 401 NULL, Icon_Wps,
@@ -418,8 +426,11 @@ MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU),
418#ifdef HAVE_LCD_BITMAP 426#ifdef HAVE_LCD_BITMAP
419 &bars_menu, 427 &bars_menu,
420 &cursor_style, 428 &cursor_style,
429#if LCD_DEPTH > 1
430 &sep_menu,
421#endif 431#endif
422#ifdef HAVE_LCD_COLOR 432#ifdef HAVE_LCD_COLOR
423 &colors_settings, 433 &colors_settings,
424#endif 434#endif
425 ); 435#endif /* HAVE_LCD_BITMAP */
436);