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
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c
index 06e7ae4..c3658e6 100644
--- a/apps/gui/gwps.c
+++ b/apps/gui/gwps.c
@@ -89,6 +89,7 @@
bool exit = false;
bool update_track = false;
int i;
+ long last_left = 0, last_right = 0;
action_signalscreenchange();
@@ -293,18 +294,32 @@
}
}
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 @@
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 @@
}
/* ...otherwise, do it normally */
#endif
-
audio_next();
break;
/* next / prev directories */