summaryrefslogtreecommitdiff
path: root/apps/screens.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/screens.c')
-rw-r--r--apps/screens.c22
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