From ade5d7b848bf9c0d46bb14c85528453f969c9429 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Mon, 26 Jul 2004 16:06:59 +0000 Subject: First step in revamping the USB event handling, paving the way for the upcoming SYS_POWER_OFF event git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4951 a1c6a512-1295-4272-9138-f99709370657 --- apps/wps.c | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'apps/wps.c') diff --git a/apps/wps.c b/apps/wps.c index 8943a4d2fb..86ce4b09c1 100644 --- a/apps/wps.c +++ b/apps/wps.c @@ -48,6 +48,8 @@ #endif #include "lang.h" #include "bookmark.h" +#include "misc.h" + #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ /* 3% of 30min file == 54s step size */ #define MIN_FF_REWIND_STEP 500 @@ -296,9 +298,9 @@ bool browse_id3(void) exit = true; break; - case SYS_USB_CONNECTED: - usb_screen(); - return true; + default: + if(default_event_handler(button) == SYS_USB_CONNECTED) + return true; break; } } @@ -419,11 +421,12 @@ static bool ffwd_rew(int button) exit = true; break; - case SYS_USB_CONNECTED: - status_set_ffmode(0); - usb_screen(); - usb = true; - exit = true; + default: + if(default_event_handler(button) == SYS_USB_CONNECTED) { + status_set_ffmode(0); + usb = true; + exit = true; + } break; } if (!exit) @@ -511,10 +514,12 @@ static bool menu(void) while (button_get(false)); /* clear button queue */ break; - case SYS_USB_CONNECTED: - usb_screen(); - keys_locked = false; - return true; + default: + if(default_event_handler(button) == SYS_USB_CONNECTED) { + keys_locked = false; + return true; + } + break; } if (keys_locked) { @@ -754,19 +759,20 @@ int wps_show(void) if (button && ignore_keyup) { ignore_keyup = false; - if (button & BUTTON_REL && button != SYS_USB_CONNECTED) + /* Negative events are system events */ + if (button >= 0 && button & BUTTON_REL ) continue; } /* ignore non-remote buttons when keys are locked */ if (keys_locked && + ! ((button < 0) || #ifdef HAVE_RECORDER_KEYPAD - ! ((button & BUTTON_F1) || + (button & BUTTON_F1) || #else - ! ((button & BUTTON_MENU) || + (button & BUTTON_MENU) || #endif - (button == BUTTON_NONE) || - (button == SYS_USB_CONNECTED) + (button == BUTTON_NONE) #ifdef BUTTON_REMOTE || (button & BUTTON_REMOTE) #endif @@ -970,13 +976,14 @@ int wps_show(void) exit = true; break; - case SYS_USB_CONNECTED: - usb_screen(); - return SYS_USB_CONNECTED; - case BUTTON_NONE: /* Timeout */ update_track = true; break; + + default: + if(default_event_handler(button) == SYS_USB_CONNECTED) + return SYS_USB_CONNECTED; + break; } if (update_track) -- cgit v1.2.3