summaryrefslogtreecommitdiff
path: root/apps/menus
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus')
-rw-r--r--apps/menus/display_menu.c63
-rw-r--r--apps/menus/theme_menu.c67
2 files changed, 68 insertions, 62 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,
306/***********************************/ 306/***********************************/
307 307
308/***********************************/ 308/***********************************/
309/* BARS MENU */
310#ifdef HAVE_LCD_BITMAP
311static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item,
312 enum screen_type screen)
313{
314 (void)this_item;
315 /* we save the old statusbar value here, so the old statusbars can get
316 * removed and cleared from the display properly on exiting
317 * (in gui_statusbar_changed() ) */
318 static enum statusbar_values old_bar[NB_SCREENS];
319 switch (action)
320 {
321 case ACTION_ENTER_MENUITEM:
322 old_bar[screen] = statusbar_position(screen);
323 case ACTION_EXIT_MENUITEM:
324 gui_statusbar_changed(screen, old_bar[screen]);
325 send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL);
326 send_event(GUI_EVENT_ACTIONUPDATE, (void*)true);
327 break;
328 }
329 return action;
330}
331
332#ifdef HAVE_REMOTE_LCD
333static int statusbar_callback_remote(int action,const struct menu_item_ex *this_item)
334{
335 return statusbar_callback_ex(action, this_item, SCREEN_REMOTE);
336}
337#endif
338static int statusbar_callback(int action,const struct menu_item_ex *this_item)
339{
340 return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
341}
342MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL);
343MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
344MENUITEM_SETTING(statusbar, &global_settings.statusbar,
345 statusbar_callback);
346#ifdef HAVE_REMOTE_LCD
347MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
348 statusbar_callback_remote);
349#endif
350#if CONFIG_KEYPAD == RECORDER_PAD
351MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, NULL);
352#endif
353MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL);
354MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL);
355MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON,
356 &scrollbar_item, &scrollbar_width, &statusbar,
357#ifdef HAVE_REMOTE_LCD
358 &remote_statusbar,
359#endif
360#if CONFIG_KEYPAD == RECORDER_PAD
361 &buttonbar,
362#endif
363 &volume_type, &battery_display);
364#endif /* HAVE_LCD_BITMAP */
365/* BARS MENU */
366/***********************************/
367
368
369/***********************************/
370/* PEAK METER MENU */ 309/* PEAK METER MENU */
371 310
372#ifdef HAVE_LCD_BITMAP 311#ifdef HAVE_LCD_BITMAP
@@ -563,7 +502,7 @@ MAKE_MENU(display_menu, ID2P(LANG_DISPLAY),
563#endif 502#endif
564 &scroll_settings_menu, 503 &scroll_settings_menu,
565#ifdef HAVE_LCD_BITMAP 504#ifdef HAVE_LCD_BITMAP
566 &bars_menu, &peak_meter_menu, 505 &peak_meter_menu,
567#endif 506#endif
568 &codepage_setting, 507 &codepage_setting,
569#ifdef HAVE_TOUCHSCREEN 508#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),
138/* LCD MENU */ 138/* LCD MENU */
139/***********************************/ 139/***********************************/
140 140
141
142/************************************/
143/* BARS MENU */
144/* */
145
146
147#ifdef HAVE_LCD_BITMAP
148static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item,
149 enum screen_type screen)
150{
151 (void)this_item;
152 /* we save the old statusbar value here, so the old statusbars can get
153 * removed and cleared from the display properly on exiting
154 * (in gui_statusbar_changed() ) */
155 static enum statusbar_values old_bar[NB_SCREENS];
156 switch (action)
157 {
158 case ACTION_ENTER_MENUITEM:
159 old_bar[screen] = statusbar_position(screen);
160 case ACTION_EXIT_MENUITEM:
161 gui_statusbar_changed(screen, old_bar[screen]);
162 send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL);
163 send_event(GUI_EVENT_ACTIONUPDATE, (void*)true);
164 break;
165 }
166 return action;
167}
168
169#ifdef HAVE_REMOTE_LCD
170static int statusbar_callback_remote(int action,const struct menu_item_ex *this_item)
171{
172 return statusbar_callback_ex(action, this_item, SCREEN_REMOTE);
173}
174#endif
175static int statusbar_callback(int action,const struct menu_item_ex *this_item)
176{
177 return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
178}
179MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL);
180MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
181MENUITEM_SETTING(statusbar, &global_settings.statusbar,
182 statusbar_callback);
183#ifdef HAVE_REMOTE_LCD
184MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
185 statusbar_callback_remote);
186#endif
187#if CONFIG_KEYPAD == RECORDER_PAD
188MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, NULL);
189#endif
190MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL);
191MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL);
192MAKE_MENU(bars_menu, ID2P(LANG_BARS_MENU), 0, Icon_NOICON,
193 &scrollbar_item, &scrollbar_width, &statusbar,
194#ifdef HAVE_REMOTE_LCD
195 &remote_statusbar,
196#endif
197#if CONFIG_KEYPAD == RECORDER_PAD
198 &buttonbar,
199#endif
200 &volume_type, &battery_display);
201#endif /* HAVE_LCD_BITMAP */
202
203/* */
204/* BARS MENU */
205/************************************/
206
141#ifdef HAVE_LCD_BITMAP 207#ifdef HAVE_LCD_BITMAP
142static struct browse_folder_info fonts = {FONT_DIR, SHOW_FONT}; 208static struct browse_folder_info fonts = {FONT_DIR, SHOW_FONT};
143#endif 209#endif
@@ -191,6 +257,7 @@ MAKE_MENU(theme_menu, ID2P(LANG_THEME_MENU),
191 &clear_main_bd, 257 &clear_main_bd,
192#endif 258#endif
193#ifdef HAVE_LCD_BITMAP 259#ifdef HAVE_LCD_BITMAP
260 &bars_menu,
194 &cursor_style, 261 &cursor_style,
195#endif 262#endif
196#ifdef HAVE_LCD_COLOR 263#ifdef HAVE_LCD_COLOR