summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-01-02 01:29:13 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-01-02 01:29:13 +0000
commit9296126417be3be3de2f9a8300eb35a042790c74 (patch)
treeffeb77af3ff016c9d908e0551d43a901b12eff9d /apps/gui
parentaec45210ea624a071bcda6c0db535e5c37df1375 (diff)
downloadrockbox-9296126417be3be3de2f9a8300eb35a042790c74.tar.gz
rockbox-9296126417be3be3de2f9a8300eb35a042790c74.zip
More SYS_FOURHERTZ handling fixes.. (FS#9740 FS#9741)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19635 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/gwps.c35
-rw-r--r--apps/gui/list.c3
-rw-r--r--apps/gui/viewport.c6
-rw-r--r--apps/gui/viewport.h2
4 files changed, 37 insertions, 9 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c
index 71a8a01fc4..6faf6e91f9 100644
--- a/apps/gui/gwps.c
+++ b/apps/gui/gwps.c
@@ -210,6 +210,8 @@ long gui_wps_show(void)
210 if (button != ACTION_NONE) { 210 if (button != ACTION_NONE) {
211 break; 211 break;
212 } 212 }
213 else if (button == SYS_FOURHERTZ)
214 default_event_handler(button);
213 peak_meter_peek(); 215 peak_meter_peek();
214 sleep(0); /* Sleep until end of current tick. */ 216 sleep(0); /* Sleep until end of current tick. */
215 217
@@ -267,18 +269,21 @@ long gui_wps_show(void)
267 switch(button) 269 switch(button)
268 { 270 {
269 case ACTION_WPS_CONTEXT: 271 case ACTION_WPS_CONTEXT:
272 {
273 bool bars;
270#if LCD_DEPTH > 1 274#if LCD_DEPTH > 1
271 show_main_backdrop(); 275 show_main_backdrop();
272#endif 276#endif
273#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 277#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1
274 show_remote_main_backdrop(); 278 show_remote_main_backdrop();
275#endif 279#endif
280 bars = viewportmanager_set_statusbar(true);
276 /* if music is stopped in the context menu we want to exit the wps */ 281 /* if music is stopped in the context menu we want to exit the wps */
277 if (onplay(wps_state.id3->path, 282 if (onplay(wps_state.id3->path,
278 FILE_ATTR_AUDIO, CONTEXT_WPS) == ONPLAY_MAINMENU 283 FILE_ATTR_AUDIO, CONTEXT_WPS) == ONPLAY_MAINMENU
279 || !audio_status()) 284 || !audio_status())
280 return GO_TO_ROOT; 285 return GO_TO_ROOT;
281 286 viewportmanager_set_statusbar(bars);
282 /* track might have changed */ 287 /* track might have changed */
283 update_track = true; 288 update_track = true;
284 289
@@ -289,7 +294,8 @@ long gui_wps_show(void)
289 show_remote_wps_backdrop(); 294 show_remote_wps_backdrop();
290#endif 295#endif
291 restore = true; 296 restore = true;
292 break; 297 }
298 break;
293 299
294 case ACTION_WPS_BROWSE: 300 case ACTION_WPS_BROWSE:
295#ifdef HAVE_LCD_CHARCELLS 301#ifdef HAVE_LCD_CHARCELLS
@@ -531,6 +537,8 @@ long gui_wps_show(void)
531 537
532#ifdef HAVE_QUICKSCREEN 538#ifdef HAVE_QUICKSCREEN
533 case ACTION_WPS_QUICKSCREEN: 539 case ACTION_WPS_QUICKSCREEN:
540 {
541 bool bars = viewportmanager_set_statusbar(true);
534#if LCD_DEPTH > 1 542#if LCD_DEPTH > 1
535 show_main_backdrop(); 543 show_main_backdrop();
536#endif 544#endif
@@ -539,6 +547,7 @@ long gui_wps_show(void)
539#endif 547#endif
540 if (quick_screen_quick(button)) 548 if (quick_screen_quick(button))
541 return SYS_USB_CONNECTED; 549 return SYS_USB_CONNECTED;
550 viewportmanager_set_statusbar(bars);
542#if LCD_DEPTH > 1 551#if LCD_DEPTH > 1
543 show_wps_backdrop(); 552 show_wps_backdrop();
544#endif 553#endif
@@ -546,12 +555,15 @@ long gui_wps_show(void)
546 show_remote_wps_backdrop(); 555 show_remote_wps_backdrop();
547#endif 556#endif
548 restore = true; 557 restore = true;
549 break; 558 }
559 break;
550#endif /* HAVE_QUICKSCREEN */ 560#endif /* HAVE_QUICKSCREEN */
551 561
552 /* screen settings */ 562 /* screen settings */
553#ifdef BUTTON_F3 563#ifdef BUTTON_F3
554 case ACTION_F3: 564 case ACTION_F3:
565 {
566 bool bars = viewportmanager_set_statusbar(true);
555#if LCD_DEPTH > 1 567#if LCD_DEPTH > 1
556 show_main_backdrop(); 568 show_main_backdrop();
557#endif 569#endif
@@ -561,12 +573,16 @@ long gui_wps_show(void)
561 if (quick_screen_f3(BUTTON_F3)) 573 if (quick_screen_f3(BUTTON_F3))
562 return SYS_USB_CONNECTED; 574 return SYS_USB_CONNECTED;
563 restore = true; 575 restore = true;
564 break; 576 viewportmanager_set_statusbar(bars);
577 }
578 break;
565#endif /* BUTTON_F3 */ 579#endif /* BUTTON_F3 */
566 580
567 /* pitch screen */ 581 /* pitch screen */
568#ifdef HAVE_PITCHSCREEN 582#ifdef HAVE_PITCHSCREEN
569 case ACTION_WPS_PITCHSCREEN: 583 case ACTION_WPS_PITCHSCREEN:
584 {
585 bool bars = viewportmanager_set_statusbar(true);
570#if LCD_DEPTH > 1 586#if LCD_DEPTH > 1
571 show_main_backdrop(); 587 show_main_backdrop();
572#endif 588#endif
@@ -582,7 +598,9 @@ long gui_wps_show(void)
582 show_remote_wps_backdrop(); 598 show_remote_wps_backdrop();
583#endif 599#endif
584 restore = true; 600 restore = true;
585 break; 601 viewportmanager_set_statusbar(bars);
602 }
603 break;
586#endif /* HAVE_PITCHSCREEN */ 604#endif /* HAVE_PITCHSCREEN */
587 605
588#ifdef AB_REPEAT_ENABLE 606#ifdef AB_REPEAT_ENABLE
@@ -605,6 +623,8 @@ long gui_wps_show(void)
605 break; 623 break;
606 624
607 case ACTION_WPS_ID3SCREEN: 625 case ACTION_WPS_ID3SCREEN:
626 {
627 bool bars = viewportmanager_set_statusbar(true);
608#if LCD_DEPTH > 1 628#if LCD_DEPTH > 1
609 show_main_backdrop(); 629 show_main_backdrop();
610#endif 630#endif
@@ -619,7 +639,9 @@ long gui_wps_show(void)
619 show_remote_wps_backdrop(); 639 show_remote_wps_backdrop();
620#endif 640#endif
621 restore = true; 641 restore = true;
622 break; 642 viewportmanager_set_statusbar(bars);
643 }
644 break;
623 645
624 case ACTION_REDRAW: /* yes are locked, just redraw */ 646 case ACTION_REDRAW: /* yes are locked, just redraw */
625 restore = true; 647 restore = true;
@@ -634,6 +656,7 @@ long gui_wps_show(void)
634 break; 656 break;
635#endif 657#endif
636 case SYS_POWEROFF: 658 case SYS_POWEROFF:
659 viewportmanager_set_statusbar(true);
637#if LCD_DEPTH > 1 660#if LCD_DEPTH > 1
638 show_main_backdrop(); 661 show_main_backdrop();
639#endif 662#endif
diff --git a/apps/gui/list.c b/apps/gui/list.c
index b70cf424ee..9843339dd4 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -649,6 +649,9 @@ bool gui_synclist_do_button(struct gui_synclist * lists,
649 649
650 switch (action) 650 switch (action)
651 { 651 {
652 case SYS_FOURHERTZ:
653 default_event_handler(action);
654 return true;
652 case ACTION_REDRAW: 655 case ACTION_REDRAW:
653 gui_synclist_draw(lists); 656 gui_synclist_draw(lists);
654 return true; 657 return true;
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 9cd905fa14..9a0657d510 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -86,9 +86,10 @@ void viewport_set_defaults(struct viewport *vp, enum screen_type screen)
86#endif 86#endif
87} 87}
88 88
89 89/* returns true if it was enabled BEFORE this call */
90void viewportmanager_set_statusbar(bool enabled) 90bool viewportmanager_set_statusbar(bool enabled)
91{ 91{
92 bool old = statusbar_enabled;
92 if (enabled && global_settings.statusbar) 93 if (enabled && global_settings.statusbar)
93 { 94 {
94 add_event(GUI_EVENT_FOURHERTZ, false, viewportmanager_draw_statusbars); 95 add_event(GUI_EVENT_FOURHERTZ, false, viewportmanager_draw_statusbars);
@@ -99,6 +100,7 @@ void viewportmanager_set_statusbar(bool enabled)
99 remove_event(GUI_EVENT_FOURHERTZ, viewportmanager_draw_statusbars); 100 remove_event(GUI_EVENT_FOURHERTZ, viewportmanager_draw_statusbars);
100 } 101 }
101 statusbar_enabled = enabled; 102 statusbar_enabled = enabled;
103 return old;
102} 104}
103 105
104void viewportmanager_draw_statusbars(void* data) 106void viewportmanager_draw_statusbars(void* data)
diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h
index cdb481017a..53f522347f 100644
--- a/apps/gui/viewport.h
+++ b/apps/gui/viewport.h
@@ -41,7 +41,7 @@ int viewport_load_config(const char *config, struct viewport *vp);
41 41
42void viewport_set_defaults(struct viewport *vp, enum screen_type screen); 42void viewport_set_defaults(struct viewport *vp, enum screen_type screen);
43 43
44void viewportmanager_set_statusbar(bool enabled); 44bool viewportmanager_set_statusbar(bool enabled);
45/* callbacks for GUI_EVENT_* events */ 45/* callbacks for GUI_EVENT_* events */
46void viewportmanager_draw_statusbars(void*data); 46void viewportmanager_draw_statusbars(void*data);
47void viewportmanager_statusbar_changed(void* data); 47void viewportmanager_statusbar_changed(void* data);