diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2009-01-02 01:29:13 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2009-01-02 01:29:13 +0000 |
commit | 9296126417be3be3de2f9a8300eb35a042790c74 (patch) | |
tree | ffeb77af3ff016c9d908e0551d43a901b12eff9d /apps/gui | |
parent | aec45210ea624a071bcda6c0db535e5c37df1375 (diff) | |
download | rockbox-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.c | 35 | ||||
-rw-r--r-- | apps/gui/list.c | 3 | ||||
-rw-r--r-- | apps/gui/viewport.c | 6 | ||||
-rw-r--r-- | apps/gui/viewport.h | 2 |
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 */ | |
90 | void viewportmanager_set_statusbar(bool enabled) | 90 | bool 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 | ||
104 | void viewportmanager_draw_statusbars(void* data) | 106 | void 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 | ||
42 | void viewport_set_defaults(struct viewport *vp, enum screen_type screen); | 42 | void viewport_set_defaults(struct viewport *vp, enum screen_type screen); |
43 | 43 | ||
44 | void viewportmanager_set_statusbar(bool enabled); | 44 | bool viewportmanager_set_statusbar(bool enabled); |
45 | /* callbacks for GUI_EVENT_* events */ | 45 | /* callbacks for GUI_EVENT_* events */ |
46 | void viewportmanager_draw_statusbars(void*data); | 46 | void viewportmanager_draw_statusbars(void*data); |
47 | void viewportmanager_statusbar_changed(void* data); | 47 | void viewportmanager_statusbar_changed(void* data); |