1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Christi Scarborough 2005-06-26 20:16:26 +00:00
parent 59df31244a
commit 37c3d8b610
7 changed files with 54 additions and 19 deletions

View file

@ -513,7 +513,9 @@ int pitch_screen(void)
else else
return 0; return 0;
} }
#endif
#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
bool quick_screen(int context, int button) bool quick_screen(int context, int button)
{ {
bool exit = false; bool exit = false;
@ -535,7 +537,12 @@ bool quick_screen(int context, int button)
switch(button) switch(button)
{ {
case BUTTON_F2: #if CONFIG_KEYPAD == RECORDER_PAD
case SCREENS_QUICK:
#endif
#if CONFIG_KEYPAD == IRIVER_H100_PAD
case SCREENS_QUICK | BUTTON_REPEAT:
#endif
/* Shuffle mode */ /* Shuffle mode */
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE)); lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_SHUFFLE));
lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); lcd_putsxy(0, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
@ -596,6 +603,7 @@ bool quick_screen(int context, int button)
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE)); lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2 - h, str(LANG_F2_MODE));
lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr); lcd_putsxy(LCD_WIDTH - w, LCD_HEIGHT/2, ptr);
break; break;
#ifdef BUTTON_F3
case BUTTON_F3: case BUTTON_F3:
/* Scrollbar */ /* Scrollbar */
lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL)); lcd_putsxy(0, LCD_HEIGHT/2 - h*2, str(LANG_F3_SCROLL));
@ -620,6 +628,7 @@ bool quick_screen(int context, int button)
lcd_getstringsize(ptr,&w,&h); lcd_getstringsize(ptr,&w,&h);
lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr); lcd_putsxy((LCD_WIDTH-w)/2, LCD_HEIGHT - h, ptr);
break; break;
#endif
} }
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward], lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
@ -641,8 +650,8 @@ bool quick_screen(int context, int button)
key = button | key; key = button | key;
switch (key) { switch (key) {
case BUTTON_F2 | BUTTON_LEFT: case SCREENS_QUICK | BUTTON_LEFT:
case BUTTON_F2 | BUTTON_LEFT | BUTTON_REPEAT: case SCREENS_QUICK | BUTTON_LEFT | BUTTON_REPEAT:
global_settings.playlist_shuffle = global_settings.playlist_shuffle =
!global_settings.playlist_shuffle; !global_settings.playlist_shuffle;
@ -656,22 +665,23 @@ bool quick_screen(int context, int button)
used = true; used = true;
break; break;
case BUTTON_F2 | BUTTON_DOWN: case SCREENS_QUICK | BUTTON_DOWN:
case BUTTON_F2 | BUTTON_DOWN | BUTTON_REPEAT: case SCREENS_QUICK | BUTTON_DOWN | BUTTON_REPEAT:
global_settings.dirfilter++; global_settings.dirfilter++;
if ( global_settings.dirfilter >= NUM_FILTER_MODES ) if ( global_settings.dirfilter >= NUM_FILTER_MODES )
global_settings.dirfilter = 0; global_settings.dirfilter = 0;
used = true; used = true;
break; break;
case BUTTON_F2 | BUTTON_RIGHT: case SCREENS_QUICK | BUTTON_RIGHT:
case BUTTON_F2 | BUTTON_RIGHT | BUTTON_REPEAT: case SCREENS_QUICK | BUTTON_RIGHT | BUTTON_REPEAT:
global_settings.repeat_mode++; global_settings.repeat_mode++;
if ( global_settings.repeat_mode >= NUM_REPEAT_MODES ) if ( global_settings.repeat_mode >= NUM_REPEAT_MODES )
global_settings.repeat_mode = 0; global_settings.repeat_mode = 0;
used = true; used = true;
break; break;
#ifdef BUTTON_F3
case BUTTON_F3 | BUTTON_LEFT: case BUTTON_F3 | BUTTON_LEFT:
case BUTTON_F3 | BUTTON_LEFT | BUTTON_REPEAT: case BUTTON_F3 | BUTTON_LEFT | BUTTON_REPEAT:
global_settings.scrollbar = !global_settings.scrollbar; global_settings.scrollbar = !global_settings.scrollbar;
@ -679,15 +689,15 @@ bool quick_screen(int context, int button)
break; break;
case BUTTON_F3 | BUTTON_RIGHT: case BUTTON_F3 | BUTTON_RIGHT:
case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT: // case BUTTON_F3 | BUTTON_RIGHT | BUTTON_REPEAT:
global_settings.statusbar = !global_settings.statusbar; global_settings.statusbar = !global_settings.statusbar;
used = true; used = true;
break; break;
case BUTTON_F3 | BUTTON_DOWN: case BUTTON_F3 | BUTTON_DOWN:
case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT: // case BUTTON_F3 | BUTTON_DOWN | BUTTON_REPEAT:
case BUTTON_F3 | BUTTON_UP: case BUTTON_F3 | BUTTON_UP:
case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT: // case BUTTON_F3 | BUTTON_UP | BUTTON_REPEAT:
global_settings.flip_display = !global_settings.flip_display; global_settings.flip_display = !global_settings.flip_display;
button_set_flip(global_settings.flip_display); button_set_flip(global_settings.flip_display);
lcd_set_flip(global_settings.flip_display); lcd_set_flip(global_settings.flip_display);
@ -695,7 +705,8 @@ bool quick_screen(int context, int button)
break; break;
case BUTTON_F3 | BUTTON_REL: case BUTTON_F3 | BUTTON_REL:
case BUTTON_F2 | BUTTON_REL: #endif
case SCREENS_QUICK | BUTTON_REL:
if( used ) if( used )
exit = true; exit = true;
@ -719,12 +730,13 @@ bool quick_screen(int context, int button)
switch( button ) switch( button )
{ {
case BUTTON_F2: case SCREENS_QUICK:
if ( oldrepeat != global_settings.repeat_mode ) if ( oldrepeat != global_settings.repeat_mode )
audio_flush_and_reload_tracks(); audio_flush_and_reload_tracks();
break; break;
#ifdef BUTTON_F3
case BUTTON_F3: case BUTTON_F3:
if (global_settings.statusbar) if (global_settings.statusbar)
@ -733,6 +745,7 @@ bool quick_screen(int context, int button)
lcd_setmargins(0, 0); lcd_setmargins(0, 0);
break; break;
#endif
} }
lcd_setfont(FONT_UI); lcd_setfont(FONT_UI);

View file

@ -33,6 +33,13 @@ int mmc_remove_request(void);
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
int pitch_screen(void); int pitch_screen(void);
bool quick_screen(const int, const int); bool quick_screen(const int, const int);
#define SCREENS_QUICK BUTTON_F2
#endif
#if CONFIG_KEYPAD == IRIVER_H100_PAD
bool quick_screen(const int, const int);
#define SCREENS_QUICK BUTTON_ON
/* Long press already detected so not needed here */
#endif #endif
void splash(int ticks, /* how long */ void splash(int ticks, /* how long */

View file

@ -1066,12 +1066,12 @@ static bool dirbrowse(void)
} }
break; break;
#ifdef BUTTON_F2 #ifdef TREE_QUICK
case BUTTON_F2: case TREE_QUICK:
/* don't enter f2 from plugin browser */ /* don't enter f2 from plugin browser */
if (*tc.dirfilter < NUM_FILTER_MODES) if (*tc.dirfilter < NUM_FILTER_MODES)
{ {
if (quick_screen(curr_context, BUTTON_F2)) if (quick_screen(curr_context, TREE_QUICK))
reload_dir = true; reload_dir = true;
restore = true; restore = true;
@ -1079,6 +1079,9 @@ static bool dirbrowse(void)
break; break;
} }
#endif
#ifdef BUTTON_F3
case BUTTON_F3: case BUTTON_F3:
/* don't enter f3 from plugin browser */ /* don't enter f3 from plugin browser */
if (*tc.dirfilter < NUM_FILTER_MODES) if (*tc.dirfilter < NUM_FILTER_MODES)

View file

@ -39,6 +39,7 @@
#define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) #define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT) #define TREE_CONTEXT2 (BUTTON_ON | BUTTON_SELECT)
#define TREE_POWER_BTN BUTTON_ON #define TREE_POWER_BTN BUTTON_ON
#define TREE_QUICK (BUTTON_ON | BUTTON_REPEAT)
#define TREE_RC_NEXT BUTTON_RC_FF #define TREE_RC_NEXT BUTTON_RC_FF
#define TREE_RC_PREV BUTTON_RC_REW #define TREE_RC_PREV BUTTON_RC_REW
@ -66,6 +67,7 @@
#define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT) #define TREE_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY) #define TREE_CONTEXT2 (BUTTON_ON | BUTTON_PLAY)
#define TREE_POWER_BTN BUTTON_ON #define TREE_POWER_BTN BUTTON_ON
#define TREE_QUICK BUTTON_F2
#define TREE_RC_NEXT BUTTON_RC_RIGHT #define TREE_RC_NEXT BUTTON_RC_RIGHT
#define TREE_RC_PREV BUTTON_RC_LEFT #define TREE_RC_PREV BUTTON_RC_LEFT

View file

@ -655,27 +655,32 @@ long wps_show(void)
break; break;
#endif #endif
#if CONFIG_KEYPAD == RECORDER_PAD #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD)
/* play settings */ /* play settings */
case BUTTON_F2: case WPS_QUICK:
if (quick_screen(CONTEXT_WPS, BUTTON_F2)) if (quick_screen(CONTEXT_WPS, WPS_QUICK))
return SYS_USB_CONNECTED; return SYS_USB_CONNECTED;
restore = true; restore = true;
lastbutton = 0;
break; break;
/* screen settings */ /* screen settings */
#ifdef BUTTON_F3
case BUTTON_F3: case BUTTON_F3:
if (quick_screen(CONTEXT_WPS, BUTTON_F3)) if (quick_screen(CONTEXT_WPS, BUTTON_F3))
return SYS_USB_CONNECTED; return SYS_USB_CONNECTED;
restore = true; restore = true;
break; break;
#endif
/* pitch screen */ /* pitch screen */
#if CONFIG_KEYPAD == RECORDER_PAD
case BUTTON_ON | BUTTON_REPEAT: case BUTTON_ON | BUTTON_REPEAT:
if (2 == pitch_screen()) if (2 == pitch_screen())
return SYS_USB_CONNECTED; return SYS_USB_CONNECTED;
restore = true; restore = true;
break; break;
#endif
#endif #endif
/* stop and exit wps */ /* stop and exit wps */

View file

@ -31,7 +31,8 @@
#define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT) #define WPS_REW (BUTTON_LEFT | BUTTON_REPEAT)
#define WPS_INCVOL BUTTON_UP #define WPS_INCVOL BUTTON_UP
#define WPS_DECVOL BUTTON_DOWN #define WPS_DECVOL BUTTON_DOWN
#define WPS_PAUSE BUTTON_ON #define WPS_PAUSE (BUTTON_ON | BUTTON_REL)
#define WPS_PAUSE_PRE BUTTON_ON
#define WPS_MENU (BUTTON_MODE | BUTTON_REL) #define WPS_MENU (BUTTON_MODE | BUTTON_REL)
#define WPS_MENU_PRE BUTTON_MODE #define WPS_MENU_PRE BUTTON_MODE
#define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL) #define WPS_BROWSE (BUTTON_SELECT | BUTTON_REL)
@ -39,6 +40,7 @@
#define WPS_EXIT BUTTON_OFF #define WPS_EXIT BUTTON_OFF
#define WPS_ID3 (BUTTON_MODE | BUTTON_ON) #define WPS_ID3 (BUTTON_MODE | BUTTON_ON)
#define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) #define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT)
#define WPS_QUICK (BUTTON_ON | BUTTON_REPEAT)
#define WPS_RC_NEXT BUTTON_RC_FF #define WPS_RC_NEXT BUTTON_RC_FF
#define WPS_RC_PREV BUTTON_RC_REW #define WPS_RC_PREV BUTTON_RC_REW
@ -70,6 +72,7 @@
#define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN) #define WPS_KEYLOCK (BUTTON_F1 | BUTTON_DOWN)
#define WPS_ID3 (BUTTON_F1 | BUTTON_ON) #define WPS_ID3 (BUTTON_F1 | BUTTON_ON)
#define WPS_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT) #define WPS_CONTEXT (BUTTON_PLAY | BUTTON_REPEAT)
#define WPS_QUICK BUTTON_F2
#define WPS_RC_NEXT BUTTON_RC_RIGHT #define WPS_RC_NEXT BUTTON_RC_RIGHT
#define WPS_RC_PREV BUTTON_RC_LEFT #define WPS_RC_PREV BUTTON_RC_LEFT

View file

@ -67,6 +67,8 @@ bool remote_button_hold(void);
#define BUTTON_OFF 0x0002 #define BUTTON_OFF 0x0002
#define BUTTON_UP 0x0010 #define BUTTON_UP 0x0010
#define BUTTON_DOWN 0x0020 #define BUTTON_DOWN 0x0020
#define BUTTON_QUICK BUTTON_ON
#define BUTTON_QUICK_LONG (BUTTON_ON | BUTTON_REPEAT)
#define BUTTON_RC_ON (BUTTON_REMOTE | 0x00010000) #define BUTTON_RC_ON (BUTTON_REMOTE | 0x00010000)
#define BUTTON_RC_STOP (BUTTON_REMOTE | 0x00020000) #define BUTTON_RC_STOP (BUTTON_REMOTE | 0x00020000)