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 */