summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/menus/display_menu.c63
-rw-r--r--apps/menus/theme_menu.c67
-rw-r--r--apps/settings_list.c13
-rw-r--r--manual/configure_rockbox/display_options.tex27
-rw-r--r--manual/configure_rockbox/theme_settings.tex31
5 files changed, 104 insertions, 97 deletions
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c
index 04360d8251..5559ecebe7 100644
--- a/apps/menus/display_menu.c
+++ b/apps/menus/display_menu.c
@@ -306,67 +306,6 @@ MAKE_MENU(scroll_settings_menu, ID2P(LANG_SCROLL_MENU), 0, Icon_NOICON,
/***********************************/
/***********************************/
-/* BARS MENU */
-#ifdef HAVE_LCD_BITMAP
-static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item,
- enum screen_type screen)
-{
- (void)this_item;
- /* we save the old statusbar value here, so the old statusbars can get
- * removed and cleared from the display properly on exiting
- * (in gui_statusbar_changed() ) */
- static enum statusbar_values old_bar[NB_SCREENS];
- switch (action)
- {
- case ACTION_ENTER_MENUITEM:
- old_bar[screen] = statusbar_position(screen);
- case ACTION_EXIT_MENUITEM:
- gui_statusbar_changed(screen, old_bar[screen]);
- send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL);
- send_event(GUI_EVENT_ACTIONUPDATE, (void*)true);
- break;
- }
- return action;
-}
-
-#ifdef HAVE_REMOTE_LCD
-static int statusbar_callback_remote(int action,const struct menu_item_ex *this_item)
-{
- return statusbar_callback_ex(action, this_item, SCREEN_REMOTE);
-}
-#endif
-static int statusbar_callback(int action,const struct menu_item_ex *this_item)
-{
- return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
-}
-MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL);
-MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
-MENUITEM_SETTING(statusbar, &global_settings.statusbar,
- statusbar_callback);
-#ifdef HAVE_REMOTE_LCD
-MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
- statusbar_callback_remote);
-#endif
-#if CONFIG_KEYPAD == RECORDER_PAD
-MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, NULL);
-#endif
-MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL);
-MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL);
-MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON,
- &scrollbar_item, &scrollbar_width, &statusbar,
-#ifdef HAVE_REMOTE_LCD
- &remote_statusbar,
-#endif
-#if CONFIG_KEYPAD == RECORDER_PAD
- &buttonbar,
-#endif
- &volume_type, &battery_display);
-#endif /* HAVE_LCD_BITMAP */
-/* BARS MENU */
-/***********************************/
-
-
-/***********************************/
/* PEAK METER MENU */
#ifdef HAVE_LCD_BITMAP
@@ -563,7 +502,7 @@ MAKE_MENU(display_menu, ID2P(LANG_DISPLAY),
#endif
&scroll_settings_menu,
#ifdef HAVE_LCD_BITMAP
- &bars_menu, &peak_meter_menu,
+ &peak_meter_menu,
#endif
&codepage_setting,
#ifdef HAVE_TOUCHSCREEN
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c
index 233d673da1..f2e4579864 100644
--- a/apps/menus/theme_menu.c
+++ b/apps/menus/theme_menu.c
@@ -138,6 +138,72 @@ MAKE_MENU(colors_settings, ID2P(LANG_COLORS_MENU),
/* LCD MENU */
/***********************************/
+
+/************************************/
+/* BARS MENU */
+/* */
+
+
+#ifdef HAVE_LCD_BITMAP
+static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item,
+ enum screen_type screen)
+{
+ (void)this_item;
+ /* we save the old statusbar value here, so the old statusbars can get
+ * removed and cleared from the display properly on exiting
+ * (in gui_statusbar_changed() ) */
+ static enum statusbar_values old_bar[NB_SCREENS];
+ switch (action)
+ {
+ case ACTION_ENTER_MENUITEM:
+ old_bar[screen] = statusbar_position(screen);
+ case ACTION_EXIT_MENUITEM:
+ gui_statusbar_changed(screen, old_bar[screen]);
+ send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL);
+ send_event(GUI_EVENT_ACTIONUPDATE, (void*)true);
+ break;
+ }
+ return action;
+}
+
+#ifdef HAVE_REMOTE_LCD
+static int statusbar_callback_remote(int action,const struct menu_item_ex *this_item)
+{
+ return statusbar_callback_ex(action, this_item, SCREEN_REMOTE);
+}
+#endif
+static int statusbar_callback(int action,const struct menu_item_ex *this_item)
+{
+ return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
+}
+MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL);
+MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
+MENUITEM_SETTING(statusbar, &global_settings.statusbar,
+ statusbar_callback);
+#ifdef HAVE_REMOTE_LCD
+MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
+ statusbar_callback_remote);
+#endif
+#if CONFIG_KEYPAD == RECORDER_PAD
+MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, NULL);
+#endif
+MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL);
+MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL);
+MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON,
+ &scrollbar_item, &scrollbar_width, &statusbar,
+#ifdef HAVE_REMOTE_LCD
+ &remote_statusbar,
+#endif
+#if CONFIG_KEYPAD == RECORDER_PAD
+ &buttonbar,
+#endif
+ &volume_type, &battery_display);
+#endif /* HAVE_LCD_BITMAP */
+
+/* */
+/* BARS MENU */
+/************************************/
+
#ifdef HAVE_LCD_BITMAP
static struct browse_folder_info fonts = {FONT_DIR, SHOW_FONT};
#endif
@@ -191,6 +257,7 @@ MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU),
&clear_main_bd,
#endif
#ifdef HAVE_LCD_BITMAP
+ &bars_menu,
&cursor_style,
#endif
#ifdef HAVE_LCD_COLOR
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 23424f94cc..23f07cb24c 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -612,19 +612,20 @@ const struct settings_list settings[] = {
NULL, 3, ID2P(LANG_OFF), ID2P(LANG_STATUSBAR_TOP),
ID2P(LANG_STATUSBAR_BOTTOM)),
#endif
- CHOICE_SETTING(F_TEMPVAR, scrollbar,
+ CHOICE_SETTING(F_THEMESETTING|F_TEMPVAR, scrollbar,
LANG_SCROLL_BAR, SCROLLBAR_LEFT, "scrollbar","off,left,right",
NULL, 3, ID2P(LANG_OFF), ID2P(LANG_LEFT), ID2P(LANG_RIGHT)),
- INT_SETTING(0, scrollbar_width, LANG_SCROLLBAR_WIDTH, 6, "scrollbar width",
- UNIT_INT, 3, LCD_WIDTH/10, 1, NULL, NULL, NULL),
+ INT_SETTING(F_THEMESETTING, scrollbar_width, LANG_SCROLLBAR_WIDTH, 6,
+ "scrollbar width",UNIT_INT, 3, MAX(LCD_WIDTH/10,25), 1,
+ NULL, NULL, NULL),
#if CONFIG_KEYPAD == RECORDER_PAD
- OFFON_SETTING(0,buttonbar, LANG_BUTTON_BAR ,true,"buttonbar", NULL),
+ OFFON_SETTING(F_THEMESETTING,buttonbar, LANG_BUTTON_BAR ,true,"buttonbar", NULL),
#endif
- CHOICE_SETTING(0, volume_type, LANG_VOLUME_DISPLAY, 0,
+ CHOICE_SETTING(F_THEMESETTING, volume_type, LANG_VOLUME_DISPLAY, 0,
"volume display", graphic_numeric, NULL, 2,
ID2P(LANG_DISPLAY_GRAPHIC),
ID2P(LANG_DISPLAY_NUMERIC)),
- CHOICE_SETTING(0, battery_display, LANG_BATTERY_DISPLAY, 0,
+ CHOICE_SETTING(F_THEMESETTING, battery_display, LANG_BATTERY_DISPLAY, 0,
"battery display", graphic_numeric, NULL, 2,
ID2P(LANG_DISPLAY_GRAPHIC), ID2P(LANG_DISPLAY_NUMERIC)),
#if CONFIG_RTC
diff --git a/manual/configure_rockbox/display_options.tex b/manual/configure_rockbox/display_options.tex
index 7468025ee2..9ea7e4713c 100644
--- a/manual/configure_rockbox/display_options.tex
+++ b/manual/configure_rockbox/display_options.tex
@@ -193,33 +193,6 @@
\end{description}
%
\opt{lcd_bitmap}{
- \item[Status/Scrollbar:]
- Settings related to on screen status display and the scrollbar.
- \begin{description}
- \item[Scroll Bar:] Allows you to choose where the vertical scroll bar
- should appear.
- \item[Scroll Bar Width:] Allows you to choose the width of the
- scroll bar (in pixels). Default value is 6.
- \item[Status Bar:] Allows you to choose where to display the
- statusbar\opt{remote}{ on the main display}.
- \opt{remote}{
- \item[Remote Status Bar:] Allows you to choose where to display the
- statusbar on the remote display.
- }
- \opt{RECORDER_PAD}{
- \item[Button Bar:] Enables or disables the button bar prompts for the
- ``F''-keys at the bottom of the screen.
- }
- \item[Volume Display:] Controls whether the volume is displayed as a
- graphic or a numeric value on the Status Bar. If you select a numeric
- display, volume is displayed in decibels. See \reference{ref:volume}
- for more on the volume setting.
- \item[Battery Display:] Controls whether the battery charge status is
- displayed as a graphic or numerical percentage value on the Status Bar.
- \end{description}
- }
-%
- \opt{lcd_bitmap}{
\item[Peak Meter:]
The peak meter can be configured with a number of parameters.
\begin{description}
diff --git a/manual/configure_rockbox/theme_settings.tex b/manual/configure_rockbox/theme_settings.tex
index d87a201488..b87c0f8583 100644
--- a/manual/configure_rockbox/theme_settings.tex
+++ b/manual/configure_rockbox/theme_settings.tex
@@ -83,8 +83,35 @@ customize the visual apperance of Rockbox.
Rockbox allows you to select bitmap pictures to use as backdrops,
see \reference{ref:LoadingBackdrops} for further information.
This option allows you to clear the backdrops that you set.
-}%
-
+}
+%
+ \opt{lcd_bitmap}{
+ \item[Status/Scrollbar:]
+ Settings related to on screen status display and the scrollbar.
+ \begin{description}
+ \item[Scroll Bar:] Allows you to choose where the vertical scroll bar
+ should appear.
+ \item[Scroll Bar Width:] Allows you to choose the width of the
+ scroll bar (in pixels). Default value is 6.
+ \item[Status Bar:] Allows you to choose where to display the
+ statusbar\opt{remote}{ on the main display}.
+ \opt{remote}{
+ \item[Remote Status Bar:] Allows you to choose where to display the
+ statusbar on the remote display.
+ }
+ \opt{RECORDER_PAD}{
+ \item[Button Bar:] Enables or disables the button bar prompts for the
+ ``F''-keys at the bottom of the screen.
+ }
+ \item[Volume Display:] Controls whether the volume is displayed as a
+ graphic or a numeric value on the Status Bar. If you select a numeric
+ display, volume is displayed in decibels. See \reference{ref:volume}
+ for more on the volume setting.
+ \item[Battery Display:] Controls whether the battery charge status is
+ displayed as a graphic or numerical percentage value on the Status Bar.
+ \end{description}
+ }
+%
\opt{lcd_bitmap}{
\item[Line Selector Type.]
This option allows you to select which type of line selector to use.