From 89ed855b8997f12b5e0443b1400ead0e0b74d6bd Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Tue, 22 Aug 2006 07:57:40 +0000 Subject: 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 --- apps/gui/gwps.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'apps/gui/gwps.c') 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 */ -- cgit v1.2.3