summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-01-15 13:37:58 +0100
committerThomas Martitz <kugel@rockbox.org>2014-01-15 23:37:39 +0100
commita969e1f4561397e67cc0f3e5869f67aea213c13b (patch)
tree02e319712f4a3c9fd67d2f2aaeb621ef2ae76e93
parentc23ce62829d98c2dc78f1fd8a8810cefd0f10402 (diff)
downloadrockbox-a969e1f4561397e67cc0f3e5869f67aea213c13b.tar.gz
rockbox-a969e1f4561397e67cc0f3e5869f67aea213c13b.zip
usb: Do not disable themes in the USB screen.
Fonts can now be assumed (by the code) to be available during USB. Make use of this fact in the USB screen and don't disable the skins. Change-Id: I525359aae16660604e8fe89addc0bdf97a3fafc1
-rw-r--r--apps/gui/usb_screen.c35
1 files changed, 14 insertions, 21 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c
index ff437ca10a..200abafcc4 100644
--- a/apps/gui/usb_screen.c
+++ b/apps/gui/usb_screen.c
@@ -134,7 +134,6 @@ struct usb_screen_vps_t
134static void usb_screen_fix_viewports(struct screen *screen, 134static void usb_screen_fix_viewports(struct screen *screen,
135 struct usb_screen_vps_t *usb_screen_vps) 135 struct usb_screen_vps_t *usb_screen_vps)
136{ 136{
137 bool disable = true;
138 int logo_width, logo_height; 137 int logo_width, logo_height;
139 struct viewport *parent = &usb_screen_vps->parent; 138 struct viewport *parent = &usb_screen_vps->parent;
140 struct viewport *logo = &usb_screen_vps->logo; 139 struct viewport *logo = &usb_screen_vps->logo;
@@ -154,11 +153,7 @@ static void usb_screen_fix_viewports(struct screen *screen,
154 logo_height = BMPHEIGHT_usblogo; 153 logo_height = BMPHEIGHT_usblogo;
155 } 154 }
156 155
157 viewport_set_defaults(parent, screen->screen_type); 156 viewportmanager_theme_enable(screen->screen_type, true, parent);
158 disable = (parent->width < logo_width || parent->height < logo_height);
159 viewportmanager_theme_enable(screen->screen_type, !disable, parent);
160 screen->clear_display();
161 screen->scroll_stop();
162 157
163 *logo = *parent; 158 *logo = *parent;
164 logo->x = parent->x + parent->width - logo_width; 159 logo->x = parent->x + parent->width - logo_width;
@@ -259,19 +254,6 @@ void gui_usb_screen_run(bool early_usb)
259 usb_keypad_mode = global_settings.usb_keypad_mode; 254 usb_keypad_mode = global_settings.usb_keypad_mode;
260#endif 255#endif
261 256
262 if(!early_usb)
263 {
264 /* The font system leaves the .fnt fd's open, so we need for force close them all */
265#ifdef HAVE_LCD_BITMAP
266 FOR_NB_SCREENS(i)
267 {
268 font_unload(screens[i].getuifont());
269 screens[i].setuifont(FONT_SYSFIXED);
270 }
271 skin_unload_all();
272#endif
273 }
274
275 FOR_NB_SCREENS(i) 257 FOR_NB_SCREENS(i)
276 { 258 {
277 struct screen *screen = &screens[i]; 259 struct screen *screen = &screens[i];
@@ -285,6 +267,17 @@ void gui_usb_screen_run(bool early_usb)
285#endif 267#endif
286 } 268 }
287 269
270 /* update the UI before disabling fonts, this maximizes the propability
271 * that font cache lookups succeed during USB */
272 send_event(GUI_EVENT_ACTIONUPDATE, NULL);
273#ifdef HAVE_LCD_BITMAP
274 if(!early_usb)
275 {
276 /* The font system leaves the .fnt fd's open, so we need for force close them all */
277 font_disable_all();
278 }
279#endif
280
288 usb_acknowledge(SYS_USB_CONNECTED_ACK); 281 usb_acknowledge(SYS_USB_CONNECTED_ACK);
289 282
290 while (1) 283 while (1)
@@ -327,12 +320,13 @@ void gui_usb_screen_run(bool early_usb)
327#ifdef HAVE_LCD_CHARCELLS 320#ifdef HAVE_LCD_CHARCELLS
328 status_set_usb(false); 321 status_set_usb(false);
329#endif /* HAVE_LCD_CHARCELLS */ 322#endif /* HAVE_LCD_CHARCELLS */
323
330#ifdef HAVE_LCD_BITMAP 324#ifdef HAVE_LCD_BITMAP
331 if(!early_usb) 325 if(!early_usb)
332 { 326 {
327 font_enable_all();
333 /* Not pretty, reload all settings so fonts are loaded again correctly */ 328 /* Not pretty, reload all settings so fonts are loaded again correctly */
334 settings_apply(true); 329 settings_apply(true);
335 settings_apply_skins();
336 /* Reload playlist */ 330 /* Reload playlist */
337 playlist_resume(); 331 playlist_resume();
338 } 332 }
@@ -345,4 +339,3 @@ void gui_usb_screen_run(bool early_usb)
345 } 339 }
346 340
347} 341}
348