summaryrefslogtreecommitdiff
path: root/apps/gui/gwps.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2006-08-22 07:57:40 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2006-08-22 07:57:40 +0000
commit89ed855b8997f12b5e0443b1400ead0e0b74d6bd (patch)
treea2c303822a4db8f2d3879618a7992c51d2315286 /apps/gui/gwps.c
parent1ce86d67bdf672af2b0516d19a3fb49684d1c00d (diff)
directory navigation in wps works as before (short then long next/prev)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10687 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/gwps.c')
-rw-r--r--apps/gui/gwps.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c
index 06e7ae4aed..c3658e6c82 100644
--- a/apps/gui/gwps.c
+++ b/apps/gui/gwps.c
@@ -89,6 +89,7 @@ long gui_wps_show(void)
bool exit = false;
bool update_track = false;
int i;
+ long last_left = 0, last_right = 0;
action_signalscreenchange();
@@ -293,18 +294,32 @@ long gui_wps_show(void)
}
}
break;
- /* fast forward / rewind */
+ /* fast forward
+ OR next dir if this is straight after ACTION_WPS_SKIPNEXT */
case ACTION_WPS_SEEKFWD:
+ if (global_settings.party_mode)
+ break;
+ if (current_tick -last_right < HZ)
+ audio_next_dir();
+ else ffwd_rew(ACTION_WPS_SEEKFWD);
+ last_right = 0;
+ break;
+ /* fast rewind
+ OR prev dir if this is straight after ACTION_WPS_SKIPPREV */
case ACTION_WPS_SEEKBACK:
if (global_settings.party_mode)
break;
- ffwd_rew(button);
+ if (current_tick -last_left < HZ)
+ audio_prev_dir();
+ else ffwd_rew(ACTION_WPS_SEEKBACK);
+ last_left = 0;
break;
/* prev / restart */
case ACTION_WPS_SKIPPREV:
if (global_settings.party_mode)
break;
+ last_left = current_tick;
update_track = true;
#ifdef AB_REPEAT_ENABLE
@@ -349,6 +364,7 @@ long gui_wps_show(void)
case ACTION_WPS_SKIPNEXT:
if (global_settings.party_mode)
break;
+ last_right = current_tick;
update_track = true;
#ifdef AB_REPEAT_ENABLE
@@ -368,7 +384,6 @@ long gui_wps_show(void)
}
/* ...otherwise, do it normally */
#endif
-
audio_next();
break;
/* next / prev directories */