diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2006-08-15 12:27:07 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2006-08-15 12:27:07 +0000 |
commit | 224c0a13ebb5828b9bc06a9c1c23ae17f0ac19f9 (patch) | |
tree | bae2154b272f786983cf8e6de28d33f98f327560 /apps/bookmark.c | |
parent | c0f8b187706364f5e4bda2ac26750d14454c901d (diff) | |
download | rockbox-224c0a13ebb5828b9bc06a9c1c23ae17f0ac19f9.tar.gz rockbox-224c0a13ebb5828b9bc06a9c1c23ae17f0ac19f9.zip |
Finally, the new button action system is here, thanks to Jonathan Gordon. Some button mappings have changed and other things may break. Comments should go to the forum, http://forums.rockbox.org/index.php?topic=5829.0 or the mailing list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10582 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/bookmark.c')
-rw-r--r-- | apps/bookmark.c | 76 |
1 files changed, 20 insertions, 56 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c index 62b286333e..b1fef207a4 100644 --- a/apps/bookmark.c +++ b/apps/bookmark.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | #include "applimits.h" | 25 | #include "applimits.h" |
26 | #include "lcd.h" | 26 | #include "lcd.h" |
27 | #include "button.h" | 27 | #include "action.h" |
28 | #include "usb.h" | 28 | #include "usb.h" |
29 | #include "audio.h" | 29 | #include "audio.h" |
30 | #include "playlist.h" | 30 | #include "playlist.h" |
@@ -458,30 +458,24 @@ bool bookmark_autoload(const char* file) | |||
458 | while(!done) | 458 | while(!done) |
459 | { | 459 | { |
460 | /* Wait for a key to be pushed */ | 460 | /* Wait for a key to be pushed */ |
461 | key = button_get(true); | 461 | key = get_action(CONTEXT_SETTINGS,TIMEOUT_BLOCK); |
462 | switch(key) | 462 | switch(key) |
463 | { | 463 | { |
464 | #ifdef HAVE_LCD_BITMAP | 464 | #ifdef HAVE_LCD_BITMAP |
465 | #ifdef BOOKMARK_RC_DOWN | 465 | case ACTION_STD_NEXT: |
466 | case BOOKMARK_RC_DOWN: | ||
467 | #endif | ||
468 | case BOOKMARK_DOWN: | ||
469 | return bookmark_load(global_bookmark_file_name, false); | 466 | return bookmark_load(global_bookmark_file_name, false); |
470 | #endif | 467 | #endif |
471 | #ifdef SETTINGS_RC_OK | 468 | case ACTION_STD_OK: |
472 | case SETTINGS_RC_OK: | ||
473 | #endif | ||
474 | case SETTINGS_OK: | ||
475 | return bookmark_load(global_bookmark_file_name, true); | 469 | return bookmark_load(global_bookmark_file_name, true); |
476 | 470 | ||
477 | default: | 471 | default: |
478 | /* Handle sys events, ignore button releases & repeats */ | 472 | /* Handle sys events, ignore button releases & repeats */ |
479 | if (default_event_handler(key) || | 473 | if (default_event_handler(key)) |
480 | !(key & (BUTTON_REPEAT|BUTTON_REL))) | ||
481 | done = true; | 474 | done = true; |
482 | break; | 475 | break; |
483 | } | 476 | } |
484 | } | 477 | } |
478 | action_signalscreenchange(); | ||
485 | return false; | 479 | return false; |
486 | } | 480 | } |
487 | } | 481 | } |
@@ -571,7 +565,6 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
571 | int bookmark_id = 0; | 565 | int bookmark_id = 0; |
572 | int bookmark_id_prev = -1; | 566 | int bookmark_id_prev = -1; |
573 | int key; | 567 | int key; |
574 | int lastkey = BUTTON_NONE; | ||
575 | char* bookmark = NULL; | 568 | char* bookmark = NULL; |
576 | int bookmark_count = 0; | 569 | int bookmark_count = 0; |
577 | 570 | ||
@@ -605,6 +598,7 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
605 | { | 598 | { |
606 | gui_syncsplash(HZ, true, str(LANG_BOOKMARK_LOAD_EMPTY)); | 599 | gui_syncsplash(HZ, true, str(LANG_BOOKMARK_LOAD_EMPTY)); |
607 | remove(bookmark_file_name); | 600 | remove(bookmark_file_name); |
601 | action_signalscreenchange(); | ||
608 | return NULL; | 602 | return NULL; |
609 | } | 603 | } |
610 | else | 604 | else |
@@ -621,17 +615,10 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
621 | } | 615 | } |
622 | 616 | ||
623 | /* waiting for the user to click a button */ | 617 | /* waiting for the user to click a button */ |
624 | key = button_get(true); | 618 | key = get_action(CONTEXT_BOOKMARKSCREEN,TIMEOUT_BLOCK); |
625 | switch(key) | 619 | switch(key) |
626 | { | 620 | { |
627 | #ifdef BOOKMARK_RC_SELECT | 621 | case ACTION_STD_OK: |
628 | case BOOKMARK_RC_SELECT: | ||
629 | #endif | ||
630 | case BOOKMARK_SELECT: | ||
631 | #ifdef BOOKMARK_SELECT_PRE | ||
632 | if (lastkey != BOOKMARK_SELECT_PRE) | ||
633 | break; | ||
634 | #endif | ||
635 | /* User wants to use this bookmark */ | 622 | /* User wants to use this bookmark */ |
636 | #ifdef HAVE_LCD_BITMAP | 623 | #ifdef HAVE_LCD_BITMAP |
637 | if (global_settings.statusbar) | 624 | if (global_settings.statusbar) |
@@ -645,11 +632,10 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
645 | screens[i].setmargins(0, 0); | 632 | screens[i].setmargins(0, 0); |
646 | } | 633 | } |
647 | #endif | 634 | #endif |
635 | action_signalscreenchange(); | ||
648 | return bookmark; | 636 | return bookmark; |
649 | #ifdef BOOKMARK_RC_DELETE | 637 | |
650 | case BOOKMARK_RC_DELETE: | 638 | case ACTION_BMARK_DELETE: |
651 | #endif | ||
652 | case BOOKMARK_DELETE: | ||
653 | /* User wants to delete this bookmark */ | 639 | /* User wants to delete this bookmark */ |
654 | delete_bookmark(bookmark_file_name, bookmark_id); | 640 | delete_bookmark(bookmark_file_name, bookmark_id); |
655 | bookmark_id_prev=-2; | 641 | bookmark_id_prev=-2; |
@@ -658,54 +644,32 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
658 | bookmark_id = bookmark_count -1; | 644 | bookmark_id = bookmark_count -1; |
659 | break; | 645 | break; |
660 | 646 | ||
661 | #ifdef SETTINGS_RC_DEC | 647 | case ACTION_SETTINGS_DEC: |
662 | case SETTINGS_RC_DEC: | ||
663 | case SETTINGS_RC_DEC | BUTTON_REPEAT: | ||
664 | #endif | ||
665 | case SETTINGS_DEC: | ||
666 | case SETTINGS_DEC | BUTTON_REPEAT: | ||
667 | bookmark_id--; | 648 | bookmark_id--; |
668 | break; | 649 | break; |
669 | 650 | ||
670 | #ifdef SETTINGS_RC_DEC | 651 | case ACTION_SETTINGS_INC: |
671 | case SETTINGS_RC_INC: | ||
672 | case SETTINGS_RC_INC | BUTTON_REPEAT: | ||
673 | #endif | ||
674 | case SETTINGS_INC: | ||
675 | case SETTINGS_INC | BUTTON_REPEAT: | ||
676 | bookmark_id++; | 652 | bookmark_id++; |
677 | break; | 653 | break; |
678 | 654 | ||
679 | #ifdef SETTINGS_RC_CANCEL | 655 | case ACTION_STD_CANCEL: |
680 | case SETTINGS_RC_CANCEL: | ||
681 | #endif | ||
682 | #ifdef SETTINGS_RC_CANCEL2 | ||
683 | case SETTINGS_RC_CANCEL2: | ||
684 | #endif | ||
685 | case SETTINGS_CANCEL: | ||
686 | #ifdef SETTINGS_CANCEL2 | ||
687 | case SETTINGS_CANCEL2: | ||
688 | #endif | ||
689 | #ifdef SETTINGS_RC_OK2 | ||
690 | case SETTINGS_RC_OK2: | ||
691 | #endif | ||
692 | #ifdef SETTINGS_OK2 | ||
693 | case SETTINGS_OK2: | ||
694 | #endif | ||
695 | #ifdef HAVE_LCD_BITMAP | 656 | #ifdef HAVE_LCD_BITMAP |
696 | FOR_NB_SCREENS(i) | 657 | FOR_NB_SCREENS(i) |
697 | screens[i].setmargins(x, y); | 658 | screens[i].setmargins(x, y); |
698 | #endif | 659 | #endif |
660 | action_signalscreenchange(); | ||
699 | return NULL; | 661 | return NULL; |
700 | 662 | ||
701 | default: | 663 | default: |
702 | if(default_event_handler(key) == SYS_USB_CONNECTED) | 664 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
665 | { | ||
666 | action_signalscreenchange(); | ||
703 | return NULL; | 667 | return NULL; |
668 | } | ||
704 | break; | 669 | break; |
705 | } | 670 | } |
706 | lastkey = key; | ||
707 | } | 671 | } |
708 | 672 | action_signalscreenchange(); | |
709 | return NULL; | 673 | return NULL; |
710 | } | 674 | } |
711 | 675 | ||