summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorChristi Scarborough <christi@coraline.org>2005-06-26 20:16:26 +0000
committerChristi Scarborough <christi@coraline.org>2005-06-26 20:16:26 +0000
commit37c3d8b6106a50d8dbfb790807be0ba82b2cd58d (patch)
treecdd2ab3bc3c74ef6aa783705316f62521748edc6 /apps
parent59df31244acb02d8ee4947f1ed71392683dfcbcd (diff)
downloadrockbox-37c3d8b6106a50d8dbfb790807be0ba82b2cd58d.tar.gz
rockbox-37c3d8b6106a50d8dbfb790807be0ba82b2cd58d.zip
Quick menu for iRiver: A long press on the PLAY key in the browser or the WPS will take you into the quick menu screen where certain common settings can be adjusted. Works just the same as F2 menu on Archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6880 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/screens.c37
-rw-r--r--apps/screens.h7
-rw-r--r--apps/tree.c9
-rw-r--r--apps/tree.h2
-rw-r--r--apps/wps.c11
-rw-r--r--apps/wps.h5
6 files changed, 52 insertions, 19 deletions
diff --git a/apps/screens.c b/apps/screens.c
index 81366141bb..6849384cda 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -513,7 +513,9 @@ int pitch_screen(void)
513 else 513 else
514 return 0; 514 return 0;
515} 515}
516#endif
516 517
518#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
517bool quick_screen(int context, int button) 519bool quick_screen(int context, int button)
518{ 520{
519 bool exit = false; 521 bool exit = false;
@@ -535,7 +537,12 @@ bool quick_screen(int context, int button)
535 537
536 switch(button) 538 switch(button)
537 { 539 {
538 case BUTTON_F2: 540#if CONFIG_KEYPAD == RECORDER_PAD
541 case SCREENS_QUICK:
542#endif
543#if CONFIG_KEYPAD == IRIVER_H100_PAD
544 case SCREENS_QUICK | BUTTON_REPEAT:
545#endif
539 /* Shuffle mode */ 546 /* Shuffle mode */
540 lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE)); 547 lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE));
541 lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); 548 lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
@@ -596,6 +603,7 @@ bool quick_screen(int context, int button)
596 lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); 603 lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
597 lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr); 604 lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr);
598 break; 605 break;
606#ifdef BUTTON_F3
599 case BUTTON_F3: 607 case BUTTON_F3:
600 /* Scrollbar */ 608 /* Scrollbar */
601 lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL)); 609 lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL));
@@ -620,6 +628,7 @@ bool quick_screen(int context, int button)
620 lcd_getstringsize(ptr,&w,&h); 628 lcd_getstringsize(ptr,&w,&h);
621 lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr); 629 lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr);
622 break; 630 break;
631#endif
623 } 632 }
624 633
625 lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], 634 lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
@@ -641,8 +650,8 @@ bool quick_screen(int context, int button)
641 key = button | key; 650 key = button | key;
642 651
643 switch (key) { 652 switch (key) {
644 case BUTTON_F2 | BUTTON_LEFT: 653 case SCREENS_QUICK | BUTTON_LEFT:
645 case BUTTON_F2 | BUTTON_LEFT | BUTTON_REPEAT: 654 case SCREENS_QUICK | BUTTON_LEFT | BUTTON_REPEAT:
646 global_settings.playlist_shuffle = 655 global_settings.playlist_shuffle =
647 !global_settings.playlist_shuffle; 656 !global_settings.playlist_shuffle;
648 657
@@ -656,22 +665,23 @@ bool quick_screen(int context, int button)
656 used = true; 665 used = true;
657 break; 666 break;
658 667
659 case BUTTON_F2 | BUTTON_DOWN: 668 case SCREENS_QUICK | BUTTON_DOWN:
660 case BUTTON_F2 | BUTTON_DOWN | BUTTON_REPEAT: 669 case SCREENS_QUICK | BUTTON_DOWN | BUTTON_REPEAT:
661 global_settings.dirfilter++; 670 global_settings.dirfilter++;
662 if ( global_settings.dirfilter >= NUM_FILTER_MODES ) 671 if ( global_settings.dirfilter >= NUM_FILTER_MODES )
663 global_settings.dirfilter = 0; 672 global_settings.dirfilter = 0;
664 used = true; 673 used = true;
665 break; 674 break;
666 675
667 case BUTTON_F2 | BUTTON_RIGHT: 676 case SCREENS_QUICK | BUTTON_RIGHT:
668 case BUTTON_F2 | BUTTON_RIGHT | BUTTON_REPEAT: 677 case SCREENS_QUICK | BUTTON_RIGHT | BUTTON_REPEAT:
669 global_settings.repeat_mode++; 678 global_settings.repeat_mode++;
670 if ( global_settings.repeat_mode >= NUM_REPEAT_MODES ) 679 if ( global_settings.repeat_mode >= NUM_REPEAT_MODES )
671 global_settings.repeat_mode = 0; 680 global_settings.repeat_mode = 0;
672 used = true; 681 used = true;
673 break; 682 break;
674 683
684#ifdef BUTTON_F3
675 case BUTTON_F3 | BUTTON_LEFT: 685 case BUTTON_F3 | BUTTON_LEFT:
676 case BUTTON_F3 | BUTTON_LEFT | BUTTON_REPEAT: 686 case BUTTON_F3 | BUTTON_LEFT | BUTTON_REPEAT:
677 global_settings.scrollbar = !global_settings.scrollbar; 687 global_settings.scrollbar = !global_settings.scrollbar;
@@ -679,15 +689,15 @@ bool quick_screen(int context, int button)
679 break; 689 break;
680 690
681 case BUTTON_F3 | BUTTON_RIGHT: 691 case BUTTON_F3 | BUTTON_RIGHT:
682 case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT: 692// case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT:
683 global_settings.statusbar = !global_settings.statusbar; 693 global_settings.statusbar = !global_settings.statusbar;
684 used = true; 694 used = true;
685 break; 695 break;
686 696
687 case BUTTON_F3 | BUTTON_DOWN: 697 case BUTTON_F3 | BUTTON_DOWN:
688 case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT: 698// case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT:
689 case BUTTON_F3 | BUTTON_UP: 699 case BUTTON_F3 | BUTTON_UP:
690 case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT: 700// case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT:
691 global_settings.flip_display = !global_settings.flip_display; 701 global_settings.flip_display = !global_settings.flip_display;
692 button_set_flip(global_settings.flip_display); 702 button_set_flip(global_settings.flip_display);
693 lcd_set_flip(global_settings.flip_display); 703 lcd_set_flip(global_settings.flip_display);
@@ -695,7 +705,8 @@ bool quick_screen(int context, int button)
695 break; 705 break;
696 706
697 case BUTTON_F3 | BUTTON_REL: 707 case BUTTON_F3 | BUTTON_REL:
698 case BUTTON_F2 | BUTTON_REL: 708#endif
709 case SCREENS_QUICK | BUTTON_REL:
699 710
700 if( used ) 711 if( used )
701 exit = true; 712 exit = true;
@@ -719,12 +730,13 @@ bool quick_screen(int context, int button)
719 730
720 switch( button ) 731 switch( button )
721 { 732 {
722 case BUTTON_F2: 733 case SCREENS_QUICK:
723 734
724 if ( oldrepeat != global_settings.repeat_mode ) 735 if ( oldrepeat != global_settings.repeat_mode )
725 audio_flush_and_reload_tracks(); 736 audio_flush_and_reload_tracks();
726 737
727 break; 738 break;
739#ifdef BUTTON_F3
728 case BUTTON_F3: 740 case BUTTON_F3:
729 741
730 if (global_settings.statusbar) 742 if (global_settings.statusbar)
@@ -733,6 +745,7 @@ bool quick_screen(int context, int button)
733 lcd_setmargins(0, 0); 745 lcd_setmargins(0, 0);
734 746
735 break; 747 break;
748#endif
736 } 749 }
737 750
738 lcd_setfont(FONT_UI); 751 lcd_setfont(FONT_UI);
diff --git a/apps/screens.h b/apps/screens.h
index 8940bb590c..88eb3bdfec 100644
--- a/apps/screens.h
+++ b/apps/screens.h
@@ -33,6 +33,13 @@ int mmc_remove_request(void);
33#if CONFIG_KEYPAD == RECORDER_PAD 33#if CONFIG_KEYPAD == RECORDER_PAD
34int pitch_screen(void); 34int pitch_screen(void);
35bool quick_screen(const int, const int); 35bool quick_screen(const int, const int);
36#define SCREENS_QUICK BUTTON_F2
37#endif
38
39#if CONFIG_KEYPAD == IRIVER_H100_PAD
40bool quick_screen(const int, const int);
41#define SCREENS_QUICK BUTTON_ON
42 /* Long press already detected so not needed here */
36#endif 43#endif
37 44
38void splash(int ticks, /* how long */ 45void splash(int ticks, /* how long */
diff --git a/apps/tree.c b/apps/tree.c
index e6b79889c6..be4edf7065 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1066,12 +1066,12 @@ static bool dirbrowse(void)
1066 } 1066 }
1067 break; 1067 break;
1068 1068
1069#ifdef BUTTON_F2 1069#ifdef TREE_QUICK
1070 case BUTTON_F2: 1070 case TREE_QUICK:
1071 /* don't enter f2 from plugin browser */ 1071 /* don't enter f2 from plugin browser */
1072 if (*tc.dirfilter < NUM_FILTER_MODES) 1072 if (*tc.dirfilter < NUM_FILTER_MODES)
1073 { 1073 {
1074 if (quick_screen(curr_context, BUTTON_F2)) 1074 if (quick_screen(curr_context, TREE_QUICK))
1075 reload_dir = true; 1075 reload_dir = true;
1076 restore = true; 1076 restore = true;
1077 1077
@@ -1079,6 +1079,9 @@ static bool dirbrowse(void)
1079 break; 1079 break;
1080 } 1080 }
1081 1081
1082#endif
1083
1084#ifdef BUTTON_F3
1082 case BUTTON_F3: 1085 case BUTTON_F3:
1083 /* don't enter f3 from plugin browser */ 1086 /* don't enter f3 from plugin browser */
1084 if (*tc.dirfilter < NUM_FILTER_MODES) 1087 if (*tc.dirfilter < NUM_FILTER_MODES)
diff --git a/apps/tree.h b/apps/tree.h
index cf578fd0bb..2c973cc358 100644
--- a/apps/tree.h
+++ b/apps/tree.h
@@ -39,6 +39,7 @@
39#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) 39#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
40#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT) 40#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT)
41#define TREE_POWER_BTN BUTTON_ON 41#define TREE_POWER_BTN BUTTON_ON
42#define TREE_QUICK (BUTTON_ON | BUTTON_REPEAT)
42 43
43#define TREE_RC_NEXT BUTTON_RC_FF 44#define TREE_RC_NEXT BUTTON_RC_FF
44#define TREE_RC_PREV BUTTON_RC_REW 45#define TREE_RC_PREV BUTTON_RC_REW
@@ -66,6 +67,7 @@
66#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT) 67#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
67#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY) 68#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
68#define TREE_POWER_BTN BUTTON_ON 69#define TREE_POWER_BTN BUTTON_ON
70#define TREE_QUICK BUTTON_F2
69 71
70#define TREE_RC_NEXT BUTTON_RC_RIGHT 72#define TREE_RC_NEXT BUTTON_RC_RIGHT
71#define TREE_RC_PREV BUTTON_RC_LEFT 73#define TREE_RC_PREV BUTTON_RC_LEFT
diff --git a/apps/wps.c b/apps/wps.c
index a685d58ba0..f05109872d 100644
--- a/apps/wps.c
+++ b/apps/wps.c
@@ -655,28 +655,33 @@ long wps_show(void)
655 break; 655 break;
656#endif 656#endif
657 657
658#if CONFIG_KEYPAD == RECORDER_PAD 658#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
659 /* play settings */ 659 /* play settings */
660 case BUTTON_F2: 660 case WPS_QUICK:
661 if (quick_screen(CONTEXT_WPS, BUTTON_F2)) 661 if (quick_screen(CONTEXT_WPS, WPS_QUICK))
662 return SYS_USB_CONNECTED; 662 return SYS_USB_CONNECTED;
663 restore = true; 663 restore = true;
664 lastbutton = 0;
664 break; 665 break;
665 666
666 /* screen settings */ 667 /* screen settings */
668#ifdef BUTTON_F3
667 case BUTTON_F3: 669 case BUTTON_F3:
668 if (quick_screen(CONTEXT_WPS, BUTTON_F3)) 670 if (quick_screen(CONTEXT_WPS, BUTTON_F3))
669 return SYS_USB_CONNECTED; 671 return SYS_USB_CONNECTED;
670 restore = true; 672 restore = true;
671 break; 673 break;
674#endif
672 675
673 /* pitch screen */ 676 /* pitch screen */
677#if CONFIG_KEYPAD == RECORDER_PAD
674 case BUTTON_ON | BUTTON_REPEAT: 678 case BUTTON_ON | BUTTON_REPEAT:
675 if (2 == pitch_screen()) 679 if (2 == pitch_screen())
676 return SYS_USB_CONNECTED; 680 return SYS_USB_CONNECTED;
677 restore = true; 681 restore = true;
678 break; 682 break;
679#endif 683#endif
684#endif
680 685
681 /* stop and exit wps */ 686 /* stop and exit wps */
682#ifdef WPS_EXIT 687#ifdef WPS_EXIT
diff --git a/apps/wps.h b/apps/wps.h
index 4f869794b2..94a6b04859 100644
--- a/apps/wps.h
+++ b/apps/wps.h
@@ -31,7 +31,8 @@
31#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) 31#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
32#define WPS_INCVOL BUTTON_UP 32#define WPS_INCVOL BUTTON_UP
33#define WPS_DECVOL BUTTON_DOWN 33#define WPS_DECVOL BUTTON_DOWN
34#define WPS_PAUSE BUTTON_ON 34#define WPS_PAUSE (BUTTON_ON | BUTTON_REL)
35#define WPS_PAUSE_PRE BUTTON_ON
35#define WPS_MENU (BUTTON_MODE | BUTTON_REL) 36#define WPS_MENU (BUTTON_MODE | BUTTON_REL)
36#define WPS_MENU_PRE BUTTON_MODE 37#define WPS_MENU_PRE BUTTON_MODE
37#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL) 38#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
@@ -39,6 +40,7 @@
39#define WPS_EXIT BUTTON_OFF 40#define WPS_EXIT BUTTON_OFF
40#define WPS_ID3 (BUTTON_MODE | BUTTON_ON) 41#define WPS_ID3 (BUTTON_MODE | BUTTON_ON)
41#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) 42#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
43#define WPS_QUICK (BUTTON_ON | BUTTON_REPEAT)
42 44
43#define WPS_RC_NEXT BUTTON_RC_FF 45#define WPS_RC_NEXT BUTTON_RC_FF
44#define WPS_RC_PREV BUTTON_RC_REW 46#define WPS_RC_PREV BUTTON_RC_REW
@@ -70,6 +72,7 @@
70#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN) 72#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN)
71#define WPS_ID3 (BUTTON_F1 | BUTTON_ON) 73#define WPS_ID3 (BUTTON_F1 | BUTTON_ON)
72#define WPS_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT) 74#define WPS_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
75#define WPS_QUICK BUTTON_F2
73 76
74#define WPS_RC_NEXT BUTTON_RC_RIGHT 77#define WPS_RC_NEXT BUTTON_RC_RIGHT
75#define WPS_RC_PREV BUTTON_RC_LEFT 78#define WPS_RC_PREV BUTTON_RC_LEFT