diff options
author | Thomas Martitz <kugel@rockbox.org> | 2009-08-29 15:17:16 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2009-08-29 15:17:16 +0000 |
commit | cc1be6b76696d5f4fafe5a3164f6b13fc5086356 (patch) | |
tree | ad9514d4e05638ec5388603c1714aa5d45c00a5c | |
parent | bd023385fba320bb849b1acf80e0873933045e88 (diff) | |
download | rockbox-cc1be6b76696d5f4fafe5a3164f6b13fc5086356.tar.gz rockbox-cc1be6b76696d5f4fafe5a3164f6b13fc5086356.zip |
More fixes for the usb screen: Use send_event(GUI_EVENT_REFRESH, NULL) to get rid of dead parts if the custom ui viewport is used as intended (it also redraws the statusbars additionally to clear&update). Redo the the statusbar handling to use the viewportmanager to properly force the remote statusbar on also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22534 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/screens.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/apps/screens.c b/apps/screens.c index 036e2a8f06..1e177db42d 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -63,6 +63,8 @@ | |||
63 | #include "yesno.h" | 63 | #include "yesno.h" |
64 | #include "backdrop.h" | 64 | #include "backdrop.h" |
65 | #include "viewport.h" | 65 | #include "viewport.h" |
66 | #include "appevents.h" | ||
67 | #include "statusbar.h" | ||
66 | 68 | ||
67 | #ifdef HAVE_LCD_BITMAP | 69 | #ifdef HAVE_LCD_BITMAP |
68 | #include "bitmaps/usblogo.h" | 70 | #include "bitmaps/usblogo.h" |
@@ -181,16 +183,15 @@ void usb_screen(void) | |||
181 | /* nothing here! */ | 183 | /* nothing here! */ |
182 | #else | 184 | #else |
183 | int i; | 185 | int i; |
184 | int statusbar = global_settings.statusbar; /* force the statusbar */ | 186 | int usb_bars = VP_SB_ALLSCREENS; /* force statusbars */ |
185 | if(!global_settings.statusbar) | 187 | int old_bars = viewportmanager_get_statusbar(); |
186 | global_settings.statusbar = STATUSBAR_TOP; | ||
187 | 188 | ||
188 | FOR_NB_SCREENS(i) | 189 | FOR_NB_SCREENS(i) |
189 | { | 190 | { |
190 | screens[i].backdrop_show(BACKDROP_MAIN); | 191 | screens[i].backdrop_show(BACKDROP_MAIN); |
191 | screens[i].backlight_on(); | 192 | screens[i].backlight_on(); |
192 | screens[i].clear_display(); | 193 | screens[i].clear_display(); |
193 | #if NB_SCREENS > 1 | 194 | #ifdef HAVE_REMOTE_LCD |
194 | if (i == SCREEN_REMOTE) | 195 | if (i == SCREEN_REMOTE) |
195 | { | 196 | { |
196 | screens[i].bitmap(remote_usblogo, | 197 | screens[i].bitmap(remote_usblogo, |
@@ -199,8 +200,8 @@ void usb_screen(void) | |||
199 | BMPWIDTH_remote_usblogo, BMPHEIGHT_remote_usblogo); | 200 | BMPWIDTH_remote_usblogo, BMPHEIGHT_remote_usblogo); |
200 | } | 201 | } |
201 | else | 202 | else |
202 | { | ||
203 | #endif | 203 | #endif |
204 | { | ||
204 | #ifdef HAVE_LCD_BITMAP | 205 | #ifdef HAVE_LCD_BITMAP |
205 | screens[i].transparent_bitmap(usblogo, | 206 | screens[i].transparent_bitmap(usblogo, |
206 | (LCD_WIDTH-BMPWIDTH_usblogo), | 207 | (LCD_WIDTH-BMPWIDTH_usblogo), |
@@ -213,11 +214,12 @@ void usb_screen(void) | |||
213 | status_set_audio(false); | 214 | status_set_audio(false); |
214 | status_set_usb(true); | 215 | status_set_usb(true); |
215 | #endif /* HAVE_LCD_BITMAP */ | 216 | #endif /* HAVE_LCD_BITMAP */ |
216 | #if NB_SCREENS > 1 | ||
217 | } | 217 | } |
218 | #endif | ||
219 | screens[i].update(); | 218 | screens[i].update(); |
220 | } | 219 | } |
220 | FOR_NB_SCREENS(i) | ||
221 | usb_bars |= VP_SB_IGNORE_SETTING(i); | ||
222 | viewportmanager_set_statusbar(usb_bars); | ||
221 | 223 | ||
222 | #ifdef SIMULATOR | 224 | #ifdef SIMULATOR |
223 | while (button_get(true) & BUTTON_REL); | 225 | while (button_get(true) & BUTTON_REL); |
@@ -231,10 +233,10 @@ void usb_screen(void) | |||
231 | FOR_NB_SCREENS(i) | 233 | FOR_NB_SCREENS(i) |
232 | { | 234 | { |
233 | screens[i].backlight_on(); | 235 | screens[i].backlight_on(); |
234 | screens[i].clear_display(); | ||
235 | screens[i].update(); | ||
236 | } | 236 | } |
237 | global_settings.statusbar = statusbar; | 237 | viewportmanager_set_statusbar(old_bars); |
238 | send_event(GUI_EVENT_REFRESH, NULL); | ||
239 | |||
238 | #endif /* USB_NONE */ | 240 | #endif /* USB_NONE */ |
239 | } | 241 | } |
240 | 242 | ||