diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-12-09 07:25:46 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-12-09 07:25:46 +0000 |
commit | b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24 (patch) | |
tree | ff3c0e14e9a53c08749ee1f233a5b1e887d3561a /apps/menus | |
parent | 85aad9b3972208b0e34ba0241ebb5314118ae05e (diff) | |
download | rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.tar.gz rockbox-b2eb44ce0eb24632a46b0ea8c8c46a8f2ba35e24.zip |
FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed
New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menus')
-rw-r--r-- | apps/menus/eq_menu.c | 8 | ||||
-rw-r--r-- | apps/menus/theme_menu.c | 6 |
2 files changed, 5 insertions, 9 deletions
diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c index 0e04dddc18..1fc176213f 100644 --- a/apps/menus/eq_menu.c +++ b/apps/menus/eq_menu.c | |||
@@ -391,7 +391,8 @@ bool eq_menu_graphical(void) | |||
391 | enum eq_type current_type; | 391 | enum eq_type current_type; |
392 | char buf[24]; | 392 | char buf[24]; |
393 | int i, w, h, height, start_item, nb_eq_sliders[NB_SCREENS]; | 393 | int i, w, h, height, start_item, nb_eq_sliders[NB_SCREENS]; |
394 | int barsenabled = viewportmanager_set_statusbar(VP_SB_HIDE_ALL); | 394 | FOR_NB_SCREENS(i) |
395 | viewportmanager_theme_enable(i, false, NULL); | ||
395 | 396 | ||
396 | 397 | ||
397 | FOR_NB_SCREENS(i) { | 398 | FOR_NB_SCREENS(i) { |
@@ -570,12 +571,13 @@ bool eq_menu_graphical(void) | |||
570 | } | 571 | } |
571 | 572 | ||
572 | /* Reset screen settings */ | 573 | /* Reset screen settings */ |
573 | FOR_NB_SCREENS(i) { | 574 | FOR_NB_SCREENS(i) |
575 | { | ||
574 | screens[i].setfont(FONT_UI); | 576 | screens[i].setfont(FONT_UI); |
575 | screens[i].clear_display(); | 577 | screens[i].clear_display(); |
576 | screens[i].set_viewport(NULL); | 578 | screens[i].set_viewport(NULL); |
579 | viewportmanager_theme_undo(i); | ||
577 | } | 580 | } |
578 | viewportmanager_set_statusbar(barsenabled); | ||
579 | return result; | 581 | return result; |
580 | } | 582 | } |
581 | 583 | ||
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c index 21ad2b0713..de0429f483 100644 --- a/apps/menus/theme_menu.c +++ b/apps/menus/theme_menu.c | |||
@@ -49,7 +49,6 @@ static int clear_main_backdrop(void) | |||
49 | global_settings.backdrop_file[0]=0; | 49 | global_settings.backdrop_file[0]=0; |
50 | backdrop_unload(BACKDROP_MAIN); | 50 | backdrop_unload(BACKDROP_MAIN); |
51 | backdrop_show(BACKDROP_MAIN); | 51 | backdrop_show(BACKDROP_MAIN); |
52 | send_event(GUI_EVENT_REFRESH, NULL); | ||
53 | settings_save(); | 52 | settings_save(); |
54 | return 0; | 53 | return 0; |
55 | } | 54 | } |
@@ -164,11 +163,6 @@ static int statusbar_callback_ex(int action,const struct menu_item_ex *this_item | |||
164 | case ACTION_EXIT_MENUITEM: | 163 | case ACTION_EXIT_MENUITEM: |
165 | send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL); | 164 | send_event(GUI_EVENT_STATUSBAR_TOGGLE, NULL); |
166 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)true); | 165 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)true); |
167 | if ((old_bar[screen] == STATUSBAR_CUSTOM) | ||
168 | || (statusbar_position(screen) == STATUSBAR_CUSTOM)) | ||
169 | send_event(GUI_EVENT_REFRESH, NULL); | ||
170 | else | ||
171 | gui_statusbar_changed(screen, old_bar[screen]); | ||
172 | break; | 166 | break; |
173 | } | 167 | } |
174 | return ACTION_REDRAW; | 168 | return ACTION_REDRAW; |