diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/usb_screen.c | 34 | ||||
-rw-r--r-- | apps/gui/usb_screen.h | 2 | ||||
-rw-r--r-- | apps/gui/viewport.c | 5 | ||||
-rw-r--r-- | apps/main.c | 25 | ||||
-rw-r--r-- | apps/misc.c | 2 |
5 files changed, 31 insertions, 37 deletions
diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c index 5306b014f0..c39acad9df 100644 --- a/apps/gui/usb_screen.c +++ b/apps/gui/usb_screen.c | |||
@@ -129,7 +129,7 @@ struct usb_screen_vps_t | |||
129 | 129 | ||
130 | #ifdef HAVE_LCD_BITMAP | 130 | #ifdef HAVE_LCD_BITMAP |
131 | static void usb_screen_fix_viewports(struct screen *screen, | 131 | static void usb_screen_fix_viewports(struct screen *screen, |
132 | struct usb_screen_vps_t *usb_screen_vps, bool early_usb) | 132 | struct usb_screen_vps_t *usb_screen_vps) |
133 | { | 133 | { |
134 | int logo_width, logo_height; | 134 | int logo_width, logo_height; |
135 | struct viewport *parent = &usb_screen_vps->parent; | 135 | struct viewport *parent = &usb_screen_vps->parent; |
@@ -148,15 +148,10 @@ static void usb_screen_fix_viewports(struct screen *screen, | |||
148 | logo_height = BMPHEIGHT_usblogo; | 148 | logo_height = BMPHEIGHT_usblogo; |
149 | } | 149 | } |
150 | 150 | ||
151 | if (!early_usb) | 151 | viewport_set_defaults(parent, screen->screen_type); |
152 | { | 152 | if (parent->width < logo_width || parent->height < logo_height) |
153 | viewport_set_defaults(parent, screen->screen_type); | ||
154 | if (parent->width < logo_width || parent->height < logo_height) | ||
155 | viewport_set_fullscreen(parent, screen->screen_type); | ||
156 | } | ||
157 | else | ||
158 | viewport_set_fullscreen(parent, screen->screen_type); | 153 | viewport_set_fullscreen(parent, screen->screen_type); |
159 | 154 | ||
160 | *logo = *parent; | 155 | *logo = *parent; |
161 | logo->x = parent->x + parent->width - logo_width; | 156 | logo->x = parent->x + parent->width - logo_width; |
162 | logo->y = parent->y + (parent->height - logo_height) / 2; | 157 | logo->y = parent->y + (parent->height - logo_height) / 2; |
@@ -182,7 +177,7 @@ static void usb_screen_fix_viewports(struct screen *screen, | |||
182 | } | 177 | } |
183 | #endif | 178 | #endif |
184 | 179 | ||
185 | static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar, bool early_usb) | 180 | static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar) |
186 | { | 181 | { |
187 | int i; | 182 | int i; |
188 | int usb_bars = VP_SB_ALLSCREENS; /* force statusbars */ | 183 | int usb_bars = VP_SB_ALLSCREENS; /* force statusbars */ |
@@ -241,14 +236,13 @@ static void usb_screens_draw(struct usb_screen_vps_t *usb_screen_vps_ar, bool ea | |||
241 | usb_bars |= VP_SB_IGNORE_SETTING(i); | 236 | usb_bars |= VP_SB_IGNORE_SETTING(i); |
242 | } | 237 | } |
243 | 238 | ||
244 | if (!early_usb) | 239 | viewportmanager_set_statusbar(usb_bars); |
245 | viewportmanager_set_statusbar(usb_bars); | ||
246 | } | 240 | } |
247 | 241 | ||
248 | void gui_usb_screen_run(bool early_usb) | 242 | void gui_usb_screen_run(void) |
249 | { | 243 | { |
250 | int i; | 244 | int i; |
251 | int old_bars = early_usb ? 0 : viewportmanager_get_statusbar(); | 245 | int old_bars = viewportmanager_get_statusbar(); |
252 | struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS]; | 246 | struct usb_screen_vps_t usb_screen_vps_ar[NB_SCREENS]; |
253 | #if defined HAVE_TOUCHSCREEN | 247 | #if defined HAVE_TOUCHSCREEN |
254 | enum touchscreen_mode old_mode = touchscreen_get_mode(); | 248 | enum touchscreen_mode old_mode = touchscreen_get_mode(); |
@@ -273,13 +267,13 @@ void gui_usb_screen_run(bool early_usb) | |||
273 | 267 | ||
274 | screen->set_viewport(NULL); | 268 | screen->set_viewport(NULL); |
275 | #ifdef HAVE_LCD_BITMAP | 269 | #ifdef HAVE_LCD_BITMAP |
276 | usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i], early_usb); | 270 | usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i]); |
277 | #endif | 271 | #endif |
278 | } | 272 | } |
279 | 273 | ||
280 | while (1) | 274 | while (1) |
281 | { | 275 | { |
282 | usb_screens_draw(usb_screen_vps_ar, early_usb); | 276 | usb_screens_draw(usb_screen_vps_ar); |
283 | #ifdef SIMULATOR | 277 | #ifdef SIMULATOR |
284 | if (button_get_w_tmo(HZ/2)) | 278 | if (button_get_w_tmo(HZ/2)) |
285 | break; | 279 | break; |
@@ -321,11 +315,9 @@ void gui_usb_screen_run(bool early_usb) | |||
321 | { | 315 | { |
322 | screens[i].backlight_on(); | 316 | screens[i].backlight_on(); |
323 | } | 317 | } |
324 | if (!early_usb) | 318 | viewportmanager_set_statusbar(old_bars); |
325 | { | 319 | send_event(GUI_EVENT_REFRESH, NULL); |
326 | viewportmanager_set_statusbar(old_bars); | 320 | |
327 | send_event(GUI_EVENT_REFRESH, NULL); | ||
328 | } | ||
329 | } | 321 | } |
330 | #endif /* !defined(USB_NONE) */ | 322 | #endif /* !defined(USB_NONE) */ |
331 | 323 | ||
diff --git a/apps/gui/usb_screen.h b/apps/gui/usb_screen.h index cbf4d296a5..d601546520 100644 --- a/apps/gui/usb_screen.h +++ b/apps/gui/usb_screen.h | |||
@@ -21,7 +21,7 @@ | |||
21 | #ifndef _USB_SCREEN_H_ | 21 | #ifndef _USB_SCREEN_H_ |
22 | #define _USB_SCREEN_H_ | 22 | #define _USB_SCREEN_H_ |
23 | 23 | ||
24 | extern void gui_usb_screen_run(bool early_usb); | 24 | extern void gui_usb_screen_run(void); |
25 | 25 | ||
26 | #endif | 26 | #endif |
27 | 27 | ||
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c index 063f59cec6..5f999df961 100644 --- a/apps/gui/viewport.c +++ b/apps/gui/viewport.c | |||
@@ -104,12 +104,7 @@ static bool showing_bars(enum screen_type screen) | |||
104 | void viewportmanager_init(void) | 104 | void viewportmanager_init(void) |
105 | { | 105 | { |
106 | #ifdef HAVE_LCD_BITMAP | 106 | #ifdef HAVE_LCD_BITMAP |
107 | int retval, i; | ||
108 | add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, statusbar_toggled); | 107 | add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, statusbar_toggled); |
109 | retval = viewport_init_ui_vp(); | ||
110 | FOR_NB_SCREENS(i) | ||
111 | ui_vp_info.active[i] = retval & BIT_N(i); | ||
112 | ui_vp_info.vp = custom_vp; | ||
113 | #endif | 108 | #endif |
114 | viewportmanager_set_statusbar(VP_SB_ALLSCREENS); | 109 | viewportmanager_set_statusbar(VP_SB_ALLSCREENS); |
115 | } | 110 | } |
diff --git a/apps/main.c b/apps/main.c index e5349ae4bf..145153ba37 100644 --- a/apps/main.c +++ b/apps/main.c | |||
@@ -142,7 +142,8 @@ int main(void) | |||
142 | list_init(); | 142 | list_init(); |
143 | #endif | 143 | #endif |
144 | tree_gui_init(); | 144 | tree_gui_init(); |
145 | viewportmanager_init(); | 145 | /* Keep the order of this 3 |
146 | * Must be done before any code uses the multi-screen API */ | ||
146 | #ifdef HAVE_USBSTACK | 147 | #ifdef HAVE_USBSTACK |
147 | /* All threads should be created and public queues registered by now */ | 148 | /* All threads should be created and public queues registered by now */ |
148 | usb_start_monitoring(); | 149 | usb_start_monitoring(); |
@@ -318,13 +319,16 @@ static void init(void) | |||
318 | #ifdef DEBUG | 319 | #ifdef DEBUG |
319 | debug_init(); | 320 | debug_init(); |
320 | #endif | 321 | #endif |
321 | /* Must be done before any code uses the multi-screen API */ | 322 | /* Keep the order of this 3 (viewportmanager handles statusbars) |
323 | * Must be done before any code uses the multi-screen API */ | ||
322 | gui_syncstatusbar_init(&statusbars); | 324 | gui_syncstatusbar_init(&statusbars); |
325 | sb_skin_init(); | ||
326 | viewportmanager_init(); | ||
327 | |||
328 | gui_sync_wps_init(); | ||
323 | storage_init(); | 329 | storage_init(); |
324 | settings_reset(); | 330 | settings_reset(); |
325 | settings_load(SETTINGS_ALL); | 331 | settings_load(SETTINGS_ALL); |
326 | gui_sync_wps_init(); | ||
327 | sb_skin_init(); | ||
328 | settings_apply(true); | 332 | settings_apply(true); |
329 | init_dircache(true); | 333 | init_dircache(true); |
330 | init_dircache(false); | 334 | init_dircache(false); |
@@ -443,8 +447,13 @@ static void init(void) | |||
443 | radio_init(); | 447 | radio_init(); |
444 | #endif | 448 | #endif |
445 | 449 | ||
446 | /* Must be done before any code uses the multi-screen API */ | 450 | /* Keep the order of this 3 (viewportmanager handles statusbars) |
451 | * Must be done before any code uses the multi-screen API */ | ||
447 | gui_syncstatusbar_init(&statusbars); | 452 | gui_syncstatusbar_init(&statusbars); |
453 | sb_skin_init(); | ||
454 | viewportmanager_init(); | ||
455 | |||
456 | gui_sync_wps_init(); | ||
448 | 457 | ||
449 | #if CONFIG_CHARGING && (CONFIG_CPU == SH7034) | 458 | #if CONFIG_CHARGING && (CONFIG_CPU == SH7034) |
450 | /* charger_inserted() can't be used here because power_thread() | 459 | /* charger_inserted() can't be used here because power_thread() |
@@ -496,7 +505,7 @@ static void init(void) | |||
496 | (mmc_remove_request() == SYS_HOTSWAP_EXTRACTED)) | 505 | (mmc_remove_request() == SYS_HOTSWAP_EXTRACTED)) |
497 | #endif | 506 | #endif |
498 | { | 507 | { |
499 | gui_usb_screen_run(true); | 508 | gui_usb_screen_run(); |
500 | mounted = true; /* mounting done @ end of USB mode */ | 509 | mounted = true; /* mounting done @ end of USB mode */ |
501 | } | 510 | } |
502 | #ifdef HAVE_USB_POWER | 511 | #ifdef HAVE_USB_POWER |
@@ -521,7 +530,7 @@ static void init(void) | |||
521 | lcd_update(); | 530 | lcd_update(); |
522 | 531 | ||
523 | while(button_get(true) != SYS_USB_CONNECTED) {}; | 532 | while(button_get(true) != SYS_USB_CONNECTED) {}; |
524 | gui_usb_screen_run(true); | 533 | gui_usb_screen_run(); |
525 | system_reboot(); | 534 | system_reboot(); |
526 | } | 535 | } |
527 | } | 536 | } |
@@ -551,8 +560,6 @@ static void init(void) | |||
551 | #endif | 560 | #endif |
552 | } | 561 | } |
553 | 562 | ||
554 | gui_sync_wps_init(); | ||
555 | sb_skin_init(); | ||
556 | settings_apply(true); | 563 | settings_apply(true); |
557 | init_dircache(false); | 564 | init_dircache(false); |
558 | #ifdef HAVE_TAGCACHE | 565 | #ifdef HAVE_TAGCACHE |
diff --git a/apps/misc.c b/apps/misc.c index 9e5fb4068d..f1c38f376c 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -581,7 +581,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame | |||
581 | check_bootfile(false); /* gets initial size */ | 581 | check_bootfile(false); /* gets initial size */ |
582 | #endif | 582 | #endif |
583 | #endif | 583 | #endif |
584 | gui_usb_screen_run(false); | 584 | gui_usb_screen_run(); |
585 | #ifdef BOOTFILE | 585 | #ifdef BOOTFILE |
586 | #if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF) | 586 | #if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF) |
587 | check_bootfile(true); | 587 | check_bootfile(true); |