diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-07-26 16:06:59 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-07-26 16:06:59 +0000 |
commit | ade5d7b848bf9c0d46bb14c85528453f969c9429 (patch) | |
tree | 197aa919b9a3c2a89f77d12b01cc1c2c23f7e37f /apps/screens.c | |
parent | 3d91885718a1fb9d6d55f07f67a9a1942a352c5e (diff) | |
download | rockbox-ade5d7b848bf9c0d46bb14c85528453f969c9429.tar.gz rockbox-ade5d7b848bf9c0d46bb14c85528453f969c9429.zip |
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
Diffstat (limited to 'apps/screens.c')
-rw-r--r-- | apps/screens.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/apps/screens.c b/apps/screens.c index 4d48372890..80b8484e35 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -288,6 +288,7 @@ int charging_screen(void) | |||
288 | 2 if USB was connected */ | 288 | 2 if USB was connected */ |
289 | int on_screen(void) | 289 | int on_screen(void) |
290 | { | 290 | { |
291 | int button; | ||
291 | static int pitch = 1000; | 292 | static int pitch = 1000; |
292 | bool exit = false; | 293 | bool exit = false; |
293 | bool used = false; | 294 | bool used = false; |
@@ -329,7 +330,8 @@ int on_screen(void) | |||
329 | 330 | ||
330 | /* use lastbutton, so the main loop can decide whether to | 331 | /* use lastbutton, so the main loop can decide whether to |
331 | exit to browser or not */ | 332 | exit to browser or not */ |
332 | switch (button_get(true)) { | 333 | button = button_get(true); |
334 | switch (button) { | ||
333 | case BUTTON_UP: | 335 | case BUTTON_UP: |
334 | case BUTTON_ON | BUTTON_UP: | 336 | case BUTTON_ON | BUTTON_UP: |
335 | case BUTTON_ON | BUTTON_UP | BUTTON_REPEAT: | 337 | case BUTTON_ON | BUTTON_UP | BUTTON_REPEAT: |
@@ -407,9 +409,10 @@ int on_screen(void) | |||
407 | used = true; | 409 | used = true; |
408 | break; | 410 | break; |
409 | 411 | ||
410 | case SYS_USB_CONNECTED: | 412 | default: |
411 | usb_screen(); | 413 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
412 | return 2; | 414 | return 2; |
415 | break; | ||
413 | } | 416 | } |
414 | } | 417 | } |
415 | 418 | ||
@@ -606,10 +609,11 @@ bool quick_screen(int context, int button) | |||
606 | 609 | ||
607 | case BUTTON_OFF | BUTTON_REPEAT: | 610 | case BUTTON_OFF | BUTTON_REPEAT: |
608 | return false; | 611 | return false; |
609 | 612 | ||
610 | case SYS_USB_CONNECTED: | 613 | default: |
611 | usb_screen(); | 614 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
612 | return true; | 615 | return true; |
616 | break; | ||
613 | } | 617 | } |
614 | } | 618 | } |
615 | 619 | ||
@@ -1082,9 +1086,10 @@ bool set_time_screen(char* string, struct tm *tm) | |||
1082 | tm->tm_year = -1; | 1086 | tm->tm_year = -1; |
1083 | break; | 1087 | break; |
1084 | 1088 | ||
1085 | case SYS_USB_CONNECTED: | 1089 | default: |
1086 | usb_screen(); | 1090 | if (default_event_handler(button) == SYS_USB_CONNECTED) |
1087 | return true; | 1091 | return true; |
1092 | break; | ||
1088 | } | 1093 | } |
1089 | } | 1094 | } |
1090 | 1095 | ||
@@ -1112,6 +1117,9 @@ bool shutdown_screen(void) | |||
1112 | break; | 1117 | break; |
1113 | 1118 | ||
1114 | default: | 1119 | default: |
1120 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
1121 | return true; | ||
1122 | |||
1115 | /* Return if any other button was pushed, or if there | 1123 | /* Return if any other button was pushed, or if there |
1116 | was a timeout. We ignore RELEASE events, since we may | 1124 | was a timeout. We ignore RELEASE events, since we may |
1117 | have been called by a button down event, and the user might | 1125 | have been called by a button down event, and the user might |