diff options
-rw-r--r-- | apps/bookmark.c | 37 | ||||
-rw-r--r-- | apps/debug_menu.c | 10 | ||||
-rw-r--r-- | apps/main_menu.c | 7 | ||||
-rw-r--r-- | apps/menu.c | 11 | ||||
-rw-r--r-- | apps/misc.c | 11 | ||||
-rw-r--r-- | apps/misc.h | 1 | ||||
-rw-r--r-- | apps/playlist_viewer.c | 15 | ||||
-rw-r--r-- | apps/recorder/keyboard.c | 18 | ||||
-rw-r--r-- | apps/recorder/radio.c | 6 | ||||
-rw-r--r-- | apps/recorder/recording.c | 28 | ||||
-rw-r--r-- | apps/screens.c | 30 | ||||
-rw-r--r-- | apps/settings.c | 15 | ||||
-rw-r--r-- | apps/settings_menu.c | 11 | ||||
-rw-r--r-- | apps/sound_menu.c | 12 | ||||
-rw-r--r-- | apps/tree.c | 30 | ||||
-rw-r--r-- | apps/wps.c | 49 |
16 files changed, 169 insertions, 122 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c index 993ea7e0ca..8d60de28fe 100644 --- a/apps/bookmark.c +++ b/apps/bookmark.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include "kernel.h" | 45 | #include "kernel.h" |
46 | #include "sprintf.h" | 46 | #include "sprintf.h" |
47 | #include "talk.h" | 47 | #include "talk.h" |
48 | #include "misc.h" | ||
48 | 49 | ||
49 | #define MAX_BOOKMARKS 10 | 50 | #define MAX_BOOKMARKS 10 |
50 | #define MAX_BOOKMARK_SIZE 350 | 51 | #define MAX_BOOKMARK_SIZE 350 |
@@ -277,12 +278,10 @@ bool bookmark_autobookmark(void) | |||
277 | done = true; | 278 | done = true; |
278 | break; | 279 | break; |
279 | 280 | ||
280 | case SYS_USB_CONNECTED: | 281 | default: |
281 | usb_screen(); | 282 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
282 | #ifdef HAVE_LCD_CHARCELLS | 283 | return false; |
283 | status_set_param(true); | 284 | break; |
284 | #endif | ||
285 | return false; | ||
286 | } | 285 | } |
287 | } | 286 | } |
288 | return true; | 287 | return true; |
@@ -511,25 +510,23 @@ bool bookmark_autoload(char* file) | |||
511 | 510 | ||
512 | while(!done) | 511 | while(!done) |
513 | { | 512 | { |
513 | button_clear_queue(); | ||
514 | |||
514 | /* Wait for a key to be pushed */ | 515 | /* Wait for a key to be pushed */ |
515 | while (button_get(false)); /* clear button queue */ | ||
516 | key = button_get(true); | 516 | key = button_get(true); |
517 | switch(key) | 517 | switch(key) |
518 | { | 518 | { |
519 | default: | ||
520 | return false; | ||
521 | #ifdef HAVE_LCD_BITMAP | 519 | #ifdef HAVE_LCD_BITMAP |
522 | case BUTTON_DOWN: | 520 | case BUTTON_DOWN: |
523 | return bookmark_load(global_bookmark_file_name, false); | 521 | return bookmark_load(global_bookmark_file_name, false); |
524 | #endif | 522 | #endif |
525 | case BUTTON_PLAY: | 523 | case BUTTON_PLAY: |
526 | return bookmark_load(global_bookmark_file_name, true); | 524 | return bookmark_load(global_bookmark_file_name, true); |
527 | case SYS_USB_CONNECTED: | 525 | |
528 | usb_screen(); | 526 | default: |
529 | #ifdef HAVE_LCD_CHARCELLS | 527 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
530 | status_set_param(true); | 528 | return true; |
531 | #endif | 529 | return false; |
532 | return true; | ||
533 | } | 530 | } |
534 | } | 531 | } |
535 | return true; | 532 | return true; |
@@ -690,12 +687,6 @@ static char* select_bookmark(char* bookmark_file_name) | |||
690 | while (button_get(false)); /* clear button queue */ | 687 | while (button_get(false)); /* clear button queue */ |
691 | break; | 688 | break; |
692 | 689 | ||
693 | case SYS_USB_CONNECTED: | ||
694 | usb_screen(); | ||
695 | #ifdef HAVE_LCD_CHARCELLS | ||
696 | status_set_param(true); | ||
697 | #endif | ||
698 | return NULL; | ||
699 | #ifdef HAVE_RECORDER_KEYPAD | 690 | #ifdef HAVE_RECORDER_KEYPAD |
700 | case BUTTON_UP: | 691 | case BUTTON_UP: |
701 | bookmark_id--; | 692 | bookmark_id--; |
@@ -726,6 +717,10 @@ static char* select_bookmark(char* bookmark_file_name) | |||
726 | case BUTTON_STOP: | 717 | case BUTTON_STOP: |
727 | return NULL; | 718 | return NULL; |
728 | #endif | 719 | #endif |
720 | default: | ||
721 | if(default_event_handler(key) == SYS_USB_CONNECTED) | ||
722 | return NULL; | ||
723 | break; | ||
729 | } | 724 | } |
730 | } | 725 | } |
731 | 726 | ||
diff --git a/apps/debug_menu.c b/apps/debug_menu.c index b89b4e4ce3..f7a96dcd3d 100644 --- a/apps/debug_menu.c +++ b/apps/debug_menu.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include "dir.h" | 46 | #include "dir.h" |
47 | #include "panic.h" | 47 | #include "panic.h" |
48 | #include "screens.h" | 48 | #include "screens.h" |
49 | #include "misc.h" | ||
49 | #ifdef HAVE_LCD_BITMAP | 50 | #ifdef HAVE_LCD_BITMAP |
50 | #include "widgets.h" | 51 | #include "widgets.h" |
51 | #include "peakmeter.h" | 52 | #include "peakmeter.h" |
@@ -520,10 +521,11 @@ bool dbg_partitions(void) | |||
520 | if (partition > 3) | 521 | if (partition > 3) |
521 | partition = 0; | 522 | partition = 0; |
522 | break; | 523 | break; |
523 | 524 | ||
524 | case SYS_USB_CONNECTED: | 525 | default: |
525 | usb_screen(); | 526 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
526 | return true; | 527 | return true; |
528 | break; | ||
527 | } | 529 | } |
528 | } | 530 | } |
529 | return false; | 531 | return false; |
diff --git a/apps/main_menu.c b/apps/main_menu.c index 991a1681de..b3c70a2c13 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c | |||
@@ -249,9 +249,10 @@ bool show_info(void) | |||
249 | state = 1; | 249 | state = 1; |
250 | break; | 250 | break; |
251 | #endif | 251 | #endif |
252 | case SYS_USB_CONNECTED: | 252 | default: |
253 | usb_screen(); | 253 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
254 | return true; | 254 | return true; |
255 | break; | ||
255 | } | 256 | } |
256 | } | 257 | } |
257 | 258 | ||
diff --git a/apps/menu.c b/apps/menu.c index 72e4289fc5..5e8a51200a 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include "screens.h" | 34 | #include "screens.h" |
35 | #include "talk.h" | 35 | #include "talk.h" |
36 | #include "lang.h" | 36 | #include "lang.h" |
37 | #include "misc.h" | ||
37 | 38 | ||
38 | #ifdef HAVE_LCD_BITMAP | 39 | #ifdef HAVE_LCD_BITMAP |
39 | #include "icons.h" | 40 | #include "icons.h" |
@@ -373,12 +374,10 @@ int menu_show(int m) | |||
373 | exit = true; | 374 | exit = true; |
374 | break; | 375 | break; |
375 | 376 | ||
376 | case SYS_USB_CONNECTED: | 377 | default: |
377 | usb_screen(); | 378 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
378 | #ifdef HAVE_LCD_CHARCELLS | 379 | return MENU_ATTACHED_USB; |
379 | status_set_param(false); | 380 | break; |
380 | #endif | ||
381 | return MENU_ATTACHED_USB; | ||
382 | } | 381 | } |
383 | 382 | ||
384 | status_draw(false); | 383 | status_draw(false); |
diff --git a/apps/misc.c b/apps/misc.c index 16719ad13a..6d45a64023 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -232,3 +232,14 @@ bool clean_shutdown(void) | |||
232 | #endif | 232 | #endif |
233 | return false; | 233 | return false; |
234 | } | 234 | } |
235 | |||
236 | int default_event_handler(int button) | ||
237 | { | ||
238 | switch(button) | ||
239 | { | ||
240 | case SYS_USB_CONNECTED: | ||
241 | usb_screen(); | ||
242 | return SYS_USB_CONNECTED; | ||
243 | } | ||
244 | return 0; | ||
245 | } | ||
diff --git a/apps/misc.h b/apps/misc.h index 7815bd2183..097b6cce60 100644 --- a/apps/misc.h +++ b/apps/misc.h | |||
@@ -40,5 +40,6 @@ void screen_dump(void); | |||
40 | 40 | ||
41 | bool settings_parseline(char* line, char** name, char** value); | 41 | bool settings_parseline(char* line, char** name, char** value); |
42 | bool clean_shutdown(void); | 42 | bool clean_shutdown(void); |
43 | int default_event_handler(int button); | ||
43 | 44 | ||
44 | #endif | 45 | #endif |
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c index 4b9a3e3752..e5d95495fa 100644 --- a/apps/playlist_viewer.c +++ b/apps/playlist_viewer.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include "tree.h" | 32 | #include "tree.h" |
33 | #include "onplay.h" | 33 | #include "onplay.h" |
34 | #include "talk.h" | 34 | #include "talk.h" |
35 | #include "misc.h" | ||
35 | 36 | ||
36 | #ifdef HAVE_LCD_BITMAP | 37 | #ifdef HAVE_LCD_BITMAP |
37 | #include "widgets.h" | 38 | #include "widgets.h" |
@@ -1045,15 +1046,17 @@ bool playlist_viewer_ex(char* filename) | |||
1045 | update = true; | 1046 | update = true; |
1046 | break; | 1047 | break; |
1047 | 1048 | ||
1048 | case SYS_USB_CONNECTED: | ||
1049 | usb_screen(); | ||
1050 | ret = true; | ||
1051 | goto exit; | ||
1052 | break; | ||
1053 | |||
1054 | case BUTTON_NONE: | 1049 | case BUTTON_NONE: |
1055 | status_draw(false); | 1050 | status_draw(false); |
1056 | break; | 1051 | break; |
1052 | |||
1053 | default: | ||
1054 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
1055 | { | ||
1056 | ret = true; | ||
1057 | goto exit; | ||
1058 | } | ||
1059 | break; | ||
1057 | } | 1060 | } |
1058 | 1061 | ||
1059 | if (update && !exit) | 1062 | if (update && !exit) |
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c index 32a1d8b735..0331a5711d 100644 --- a/apps/recorder/keyboard.c +++ b/apps/recorder/keyboard.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "status.h" | 28 | #include "status.h" |
29 | #include "talk.h" | 29 | #include "talk.h" |
30 | #include "settings.h" | 30 | #include "settings.h" |
31 | #include "misc.h" | ||
31 | 32 | ||
32 | #define KEYBOARD_LINES 4 | 33 | #define KEYBOARD_LINES 4 |
33 | #define KEYBOARD_PAGES 3 | 34 | #define KEYBOARD_PAGES 3 |
@@ -89,6 +90,7 @@ int kbd_input(char* text, int buflen) | |||
89 | char outline[256]; | 90 | char outline[256]; |
90 | char c = 0; | 91 | char c = 0; |
91 | struct font* font = font_get(FONT_SYSFIXED); | 92 | struct font* font = font_get(FONT_SYSFIXED); |
93 | int button; | ||
92 | 94 | ||
93 | lcd_setfont(FONT_SYSFIXED); | 95 | lcd_setfont(FONT_SYSFIXED); |
94 | font_w = font->maxwidth; | 96 | font_w = font->maxwidth; |
@@ -193,8 +195,9 @@ int kbd_input(char* text, int buflen) | |||
193 | 195 | ||
194 | /* The default action is to redraw */ | 196 | /* The default action is to redraw */ |
195 | redraw = true; | 197 | redraw = true; |
196 | 198 | ||
197 | switch ( button_get_w_tmo(HZ/2) ) { | 199 | button = button_get_w_tmo(HZ/2); |
200 | switch ( button ) { | ||
198 | 201 | ||
199 | case BUTTON_OFF: | 202 | case BUTTON_OFF: |
200 | /* abort */ | 203 | /* abort */ |
@@ -309,15 +312,16 @@ int kbd_input(char* text, int buflen) | |||
309 | kbd_spellchar(text[editpos]); | 312 | kbd_spellchar(text[editpos]); |
310 | break; | 313 | break; |
311 | 314 | ||
312 | case SYS_USB_CONNECTED: | ||
313 | usb_screen(); | ||
314 | lcd_setfont(FONT_SYSFIXED); | ||
315 | break; | ||
316 | |||
317 | case BUTTON_NONE: | 315 | case BUTTON_NONE: |
318 | status_draw(false); | 316 | status_draw(false); |
319 | redraw = false; | 317 | redraw = false; |
320 | break; | 318 | break; |
319 | |||
320 | default: | ||
321 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
322 | lcd_setfont(FONT_SYSFIXED); | ||
323 | break; | ||
324 | |||
321 | } | 325 | } |
322 | } | 326 | } |
323 | lcd_setfont(FONT_UI); | 327 | lcd_setfont(FONT_UI); |
diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c index 36847236e1..e26ac5bdc8 100644 --- a/apps/recorder/radio.c +++ b/apps/recorder/radio.c | |||
@@ -416,13 +416,17 @@ bool radio_screen(void) | |||
416 | /* Only accept USB connection when not recording */ | 416 | /* Only accept USB connection when not recording */ |
417 | if(mpeg_status() != MPEG_STATUS_RECORD) | 417 | if(mpeg_status() != MPEG_STATUS_RECORD) |
418 | { | 418 | { |
419 | usb_screen(); | 419 | default_event_handler(SYS_USB_CONNECTED); |
420 | fmradio_set_status(0); | 420 | fmradio_set_status(0); |
421 | screen_freeze = true; /* Cosmetic: makes sure the | 421 | screen_freeze = true; /* Cosmetic: makes sure the |
422 | radio screen doesn't redraw */ | 422 | radio screen doesn't redraw */ |
423 | done = true; | 423 | done = true; |
424 | } | 424 | } |
425 | break; | 425 | break; |
426 | |||
427 | default: | ||
428 | default_event_handler(button); | ||
429 | break; | ||
426 | } | 430 | } |
427 | 431 | ||
428 | peak_meter_peek(); | 432 | peak_meter_peek(); |
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index a077c957a7..242351a0d6 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -437,11 +437,15 @@ bool recording_screen(void) | |||
437 | /* Only accept USB connection when not recording */ | 437 | /* Only accept USB connection when not recording */ |
438 | if(mpeg_status() != MPEG_STATUS_RECORD) | 438 | if(mpeg_status() != MPEG_STATUS_RECORD) |
439 | { | 439 | { |
440 | usb_screen(); | 440 | default_event_handler(SYS_USB_CONNECTED); |
441 | done = true; | 441 | done = true; |
442 | been_in_usb_mode = true; | 442 | been_in_usb_mode = true; |
443 | } | 443 | } |
444 | break; | 444 | break; |
445 | |||
446 | default: | ||
447 | default_event_handler(button); | ||
448 | break; | ||
445 | } | 449 | } |
446 | 450 | ||
447 | peak_meter_peek(); | 451 | peak_meter_peek(); |
@@ -622,6 +626,7 @@ bool f2_rec_screen(void) | |||
622 | bool used = false; | 626 | bool used = false; |
623 | int w, h; | 627 | int w, h; |
624 | char buf[32]; | 628 | char buf[32]; |
629 | int button; | ||
625 | 630 | ||
626 | lcd_setfont(FONT_SYSFIXED); | 631 | lcd_setfont(FONT_SYSFIXED); |
627 | lcd_getstringsize("A",&w,&h); | 632 | lcd_getstringsize("A",&w,&h); |
@@ -671,7 +676,8 @@ bool f2_rec_screen(void) | |||
671 | 676 | ||
672 | lcd_update(); | 677 | lcd_update(); |
673 | 678 | ||
674 | switch (button_get(true)) { | 679 | button = button_get(true); |
680 | switch (button) { | ||
675 | case BUTTON_LEFT: | 681 | case BUTTON_LEFT: |
676 | case BUTTON_F2 | BUTTON_LEFT: | 682 | case BUTTON_F2 | BUTTON_LEFT: |
677 | global_settings.rec_quality++; | 683 | global_settings.rec_quality++; |
@@ -706,9 +712,10 @@ bool f2_rec_screen(void) | |||
706 | used = true; | 712 | used = true; |
707 | break; | 713 | break; |
708 | 714 | ||
709 | case SYS_USB_CONNECTED: | 715 | default: |
710 | usb_screen(); | 716 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
711 | return true; | 717 | return true; |
718 | break; | ||
712 | } | 719 | } |
713 | } | 720 | } |
714 | 721 | ||
@@ -735,6 +742,7 @@ bool f3_rec_screen(void) | |||
735 | bool exit = false; | 742 | bool exit = false; |
736 | bool used = false; | 743 | bool used = false; |
737 | int w, h; | 744 | int w, h; |
745 | int button; | ||
738 | char *src_str[] = | 746 | char *src_str[] = |
739 | { | 747 | { |
740 | str(LANG_RECORDING_SRC_MIC), | 748 | str(LANG_RECORDING_SRC_MIC), |
@@ -760,7 +768,8 @@ bool f3_rec_screen(void) | |||
760 | 768 | ||
761 | lcd_update(); | 769 | lcd_update(); |
762 | 770 | ||
763 | switch (button_get(true)) { | 771 | button = button_get(true); |
772 | switch (button) { | ||
764 | case BUTTON_LEFT: | 773 | case BUTTON_LEFT: |
765 | case BUTTON_F3 | BUTTON_LEFT: | 774 | case BUTTON_F3 | BUTTON_LEFT: |
766 | global_settings.rec_source++; | 775 | global_settings.rec_source++; |
@@ -779,9 +788,10 @@ bool f3_rec_screen(void) | |||
779 | used = true; | 788 | used = true; |
780 | break; | 789 | break; |
781 | 790 | ||
782 | case SYS_USB_CONNECTED: | 791 | default: |
783 | usb_screen(); | 792 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
784 | return true; | 793 | return true; |
794 | break; | ||
785 | } | 795 | } |
786 | } | 796 | } |
787 | 797 | ||
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 |
diff --git a/apps/settings.c b/apps/settings.c index 31d9232851..83d69710df 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -1362,10 +1362,10 @@ bool set_int(char* string, | |||
1362 | done = true; | 1362 | done = true; |
1363 | break; | 1363 | break; |
1364 | 1364 | ||
1365 | case SYS_USB_CONNECTED: | 1365 | default: |
1366 | usb_screen(); | 1366 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
1367 | return true; | 1367 | return true; |
1368 | 1368 | break; | |
1369 | } | 1369 | } |
1370 | if(*variable > max ) | 1370 | if(*variable > max ) |
1371 | *variable = max; | 1371 | *variable = max; |
@@ -1492,9 +1492,10 @@ bool set_option(char* string, void* variable, enum optiontype type, | |||
1492 | done = true; | 1492 | done = true; |
1493 | break; | 1493 | break; |
1494 | 1494 | ||
1495 | case SYS_USB_CONNECTED: | 1495 | default: |
1496 | usb_screen(); | 1496 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
1497 | return true; | 1497 | return true; |
1498 | break; | ||
1498 | } | 1499 | } |
1499 | 1500 | ||
1500 | if ( function && button != BUTTON_NONE) { | 1501 | if ( function && button != BUTTON_NONE) { |
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index 5da733c1df..1141361281 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -43,6 +43,7 @@ | |||
43 | #include "screens.h" | 43 | #include "screens.h" |
44 | #include "talk.h" | 44 | #include "talk.h" |
45 | #include "timefuncs.h" | 45 | #include "timefuncs.h" |
46 | #include "misc.h" | ||
46 | #ifdef HAVE_LCD_BITMAP | 47 | #ifdef HAVE_LCD_BITMAP |
47 | #include "peakmeter.h" | 48 | #include "peakmeter.h" |
48 | #endif | 49 | #endif |
@@ -1037,6 +1038,7 @@ static bool reset_settings(void) | |||
1037 | { | 1038 | { |
1038 | bool done=false; | 1039 | bool done=false; |
1039 | int line; | 1040 | int line; |
1041 | int button; | ||
1040 | 1042 | ||
1041 | lcd_clear_display(); | 1043 | lcd_clear_display(); |
1042 | 1044 | ||
@@ -1052,7 +1054,8 @@ static bool reset_settings(void) | |||
1052 | lcd_update(); | 1054 | lcd_update(); |
1053 | 1055 | ||
1054 | while(!done) { | 1056 | while(!done) { |
1055 | switch(button_get(true)) { | 1057 | button = button_get(true); |
1058 | switch(button) { | ||
1056 | case BUTTON_PLAY: | 1059 | case BUTTON_PLAY: |
1057 | settings_reset(); | 1060 | settings_reset(); |
1058 | settings_apply(); | 1061 | settings_apply(); |
@@ -1071,9 +1074,9 @@ static bool reset_settings(void) | |||
1071 | done = true; | 1074 | done = true; |
1072 | break; | 1075 | break; |
1073 | 1076 | ||
1074 | case SYS_USB_CONNECTED: | 1077 | default: |
1075 | usb_screen(); | 1078 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
1076 | return true; | 1079 | return true; |
1077 | } | 1080 | } |
1078 | } | 1081 | } |
1079 | 1082 | ||
diff --git a/apps/sound_menu.c b/apps/sound_menu.c index 4c9087e5f5..6f62ce2417 100644 --- a/apps/sound_menu.c +++ b/apps/sound_menu.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include "lang.h" | 33 | #include "lang.h" |
34 | #include "sprintf.h" | 34 | #include "sprintf.h" |
35 | #include "talk.h" | 35 | #include "talk.h" |
36 | #include "misc.h" | ||
36 | 37 | ||
37 | static char *fmt[] = | 38 | static char *fmt[] = |
38 | { | 39 | { |
@@ -56,6 +57,7 @@ bool set_sound(char* string, | |||
56 | char str[32]; | 57 | char str[32]; |
57 | int talkunit = UNIT_INT; | 58 | int talkunit = UNIT_INT; |
58 | int steps; | 59 | int steps; |
60 | int button; | ||
59 | 61 | ||
60 | unit = mpeg_sound_unit(setting); | 62 | unit = mpeg_sound_unit(setting); |
61 | numdec = mpeg_sound_numdecimals(setting); | 63 | numdec = mpeg_sound_numdecimals(setting); |
@@ -99,7 +101,8 @@ bool set_sound(char* string, | |||
99 | lcd_update(); | 101 | lcd_update(); |
100 | 102 | ||
101 | changed = false; | 103 | changed = false; |
102 | switch( button_get_w_tmo(HZ/2) ) { | 104 | button = button_get_w_tmo(HZ/2); |
105 | switch( button ) { | ||
103 | #ifdef HAVE_RECORDER_KEYPAD | 106 | #ifdef HAVE_RECORDER_KEYPAD |
104 | case BUTTON_UP: | 107 | case BUTTON_UP: |
105 | case BUTTON_UP | BUTTON_REPEAT: | 108 | case BUTTON_UP | BUTTON_REPEAT: |
@@ -136,9 +139,10 @@ bool set_sound(char* string, | |||
136 | done = true; | 139 | done = true; |
137 | break; | 140 | break; |
138 | 141 | ||
139 | case SYS_USB_CONNECTED: | 142 | default: |
140 | usb_screen(); | 143 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
141 | return true; | 144 | return true; |
145 | break; | ||
142 | } | 146 | } |
143 | if (changed) { | 147 | if (changed) { |
144 | mpeg_sound_set(setting, *variable); | 148 | mpeg_sound_set(setting, *variable); |
diff --git a/apps/tree.c b/apps/tree.c index 72a2261024..9ce5a9c5f0 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -56,6 +56,7 @@ | |||
56 | #include "action.h" | 56 | #include "action.h" |
57 | #include "talk.h" | 57 | #include "talk.h" |
58 | #include "filetypes.h" | 58 | #include "filetypes.h" |
59 | #include "misc.h" | ||
59 | 60 | ||
60 | #ifdef HAVE_LCD_BITMAP | 61 | #ifdef HAVE_LCD_BITMAP |
61 | #include "widgets.h" | 62 | #include "widgets.h" |
@@ -599,7 +600,7 @@ static bool ask_resume(bool ask_once) | |||
599 | #endif | 600 | #endif |
600 | 601 | ||
601 | if (usb_detect()) { | 602 | if (usb_detect()) { |
602 | usb_screen(); | 603 | default_event_handler(SYS_USB_CONNECTED); |
603 | return false; | 604 | return false; |
604 | } | 605 | } |
605 | 606 | ||
@@ -635,13 +636,8 @@ static bool ask_resume(bool ask_once) | |||
635 | case BUTTON_ON | BUTTON_REPEAT: | 636 | case BUTTON_ON | BUTTON_REPEAT: |
636 | break; | 637 | break; |
637 | #endif | 638 | #endif |
638 | |||
639 | case SYS_USB_CONNECTED: | ||
640 | usb_screen(); | ||
641 | stop = true; | ||
642 | break; | ||
643 | |||
644 | default: | 639 | default: |
640 | default_event_handler(button); | ||
645 | stop = true; | 641 | stop = true; |
646 | break; | 642 | break; |
647 | } | 643 | } |
@@ -940,6 +936,7 @@ static bool dirbrowse(char *root, int *dirfilter) | |||
940 | #ifndef SIMULATOR | 936 | #ifndef SIMULATOR |
941 | if (boot_changed) { | 937 | if (boot_changed) { |
942 | bool stop = false; | 938 | bool stop = false; |
939 | int button; | ||
943 | 940 | ||
944 | lcd_clear_display(); | 941 | lcd_clear_display(); |
945 | lcd_puts(0,0,str(LANG_BOOT_CHANGED)); | 942 | lcd_puts(0,0,str(LANG_BOOT_CHANGED)); |
@@ -950,18 +947,15 @@ static bool dirbrowse(char *root, int *dirfilter) | |||
950 | lcd_update(); | 947 | lcd_update(); |
951 | #endif | 948 | #endif |
952 | while (!stop) { | 949 | while (!stop) { |
953 | switch (button_get(true)) { | 950 | button = button_get(true); |
951 | switch (button) { | ||
954 | case BUTTON_PLAY: | 952 | case BUTTON_PLAY: |
955 | rolo_load("/" BOOTFILE); | 953 | rolo_load("/" BOOTFILE); |
956 | stop = true; | 954 | stop = true; |
957 | break; | 955 | break; |
958 | 956 | ||
959 | case SYS_USB_CONNECTED: | ||
960 | usb_screen(); | ||
961 | stop = true; | ||
962 | break; | ||
963 | |||
964 | default: | 957 | default: |
958 | default_event_handler(button); | ||
965 | stop = true; | 959 | stop = true; |
966 | break; | 960 | break; |
967 | } | 961 | } |
@@ -1372,11 +1366,6 @@ static bool dirbrowse(char *root, int *dirfilter) | |||
1372 | #endif | 1366 | #endif |
1373 | break; | 1367 | break; |
1374 | 1368 | ||
1375 | case SYS_USB_CONNECTED: | ||
1376 | usb_screen(); | ||
1377 | reload_root = true; | ||
1378 | break; | ||
1379 | |||
1380 | case BUTTON_NONE: | 1369 | case BUTTON_NONE: |
1381 | if (thumbnail_time != -1 && | 1370 | if (thumbnail_time != -1 && |
1382 | TIME_AFTER(current_tick, thumbnail_time)) | 1371 | TIME_AFTER(current_tick, thumbnail_time)) |
@@ -1393,6 +1382,11 @@ static bool dirbrowse(char *root, int *dirfilter) | |||
1393 | } | 1382 | } |
1394 | status_draw(false); | 1383 | status_draw(false); |
1395 | break; | 1384 | break; |
1385 | |||
1386 | default: | ||
1387 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
1388 | reload_root = true; | ||
1389 | break; | ||
1396 | } | 1390 | } |
1397 | 1391 | ||
1398 | if ( button ) | 1392 | if ( button ) |
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 @@ | |||
48 | #endif | 48 | #endif |
49 | #include "lang.h" | 49 | #include "lang.h" |
50 | #include "bookmark.h" | 50 | #include "bookmark.h" |
51 | #include "misc.h" | ||
52 | |||
51 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ | 53 | #define FF_REWIND_MAX_PERCENT 3 /* cap ff/rewind step size at max % of file */ |
52 | /* 3% of 30min file == 54s step size */ | 54 | /* 3% of 30min file == 54s step size */ |
53 | #define MIN_FF_REWIND_STEP 500 | 55 | #define MIN_FF_REWIND_STEP 500 |
@@ -296,9 +298,9 @@ bool browse_id3(void) | |||
296 | exit = true; | 298 | exit = true; |
297 | break; | 299 | break; |
298 | 300 | ||
299 | case SYS_USB_CONNECTED: | 301 | default: |
300 | usb_screen(); | 302 | if(default_event_handler(button) == SYS_USB_CONNECTED) |
301 | return true; | 303 | return true; |
302 | break; | 304 | break; |
303 | } | 305 | } |
304 | } | 306 | } |
@@ -419,11 +421,12 @@ static bool ffwd_rew(int button) | |||
419 | exit = true; | 421 | exit = true; |
420 | break; | 422 | break; |
421 | 423 | ||
422 | case SYS_USB_CONNECTED: | 424 | default: |
423 | status_set_ffmode(0); | 425 | if(default_event_handler(button) == SYS_USB_CONNECTED) { |
424 | usb_screen(); | 426 | status_set_ffmode(0); |
425 | usb = true; | 427 | usb = true; |
426 | exit = true; | 428 | exit = true; |
429 | } | ||
427 | break; | 430 | break; |
428 | } | 431 | } |
429 | if (!exit) | 432 | if (!exit) |
@@ -511,10 +514,12 @@ static bool menu(void) | |||
511 | while (button_get(false)); /* clear button queue */ | 514 | while (button_get(false)); /* clear button queue */ |
512 | break; | 515 | break; |
513 | 516 | ||
514 | case SYS_USB_CONNECTED: | 517 | default: |
515 | usb_screen(); | 518 | if(default_event_handler(button) == SYS_USB_CONNECTED) { |
516 | keys_locked = false; | 519 | keys_locked = false; |
517 | return true; | 520 | return true; |
521 | } | ||
522 | break; | ||
518 | } | 523 | } |
519 | 524 | ||
520 | if (keys_locked) { | 525 | if (keys_locked) { |
@@ -754,19 +759,20 @@ int wps_show(void) | |||
754 | if (button && ignore_keyup) | 759 | if (button && ignore_keyup) |
755 | { | 760 | { |
756 | ignore_keyup = false; | 761 | ignore_keyup = false; |
757 | if (button & BUTTON_REL && button != SYS_USB_CONNECTED) | 762 | /* Negative events are system events */ |
763 | if (button >= 0 && button & BUTTON_REL ) | ||
758 | continue; | 764 | continue; |
759 | } | 765 | } |
760 | 766 | ||
761 | /* ignore non-remote buttons when keys are locked */ | 767 | /* ignore non-remote buttons when keys are locked */ |
762 | if (keys_locked && | 768 | if (keys_locked && |
769 | ! ((button < 0) || | ||
763 | #ifdef HAVE_RECORDER_KEYPAD | 770 | #ifdef HAVE_RECORDER_KEYPAD |
764 | ! ((button & BUTTON_F1) || | 771 | (button & BUTTON_F1) || |
765 | #else | 772 | #else |
766 | ! ((button & BUTTON_MENU) || | 773 | (button & BUTTON_MENU) || |
767 | #endif | 774 | #endif |
768 | (button == BUTTON_NONE) || | 775 | (button == BUTTON_NONE) |
769 | (button == SYS_USB_CONNECTED) | ||
770 | #ifdef BUTTON_REMOTE | 776 | #ifdef BUTTON_REMOTE |
771 | || (button & BUTTON_REMOTE) | 777 | || (button & BUTTON_REMOTE) |
772 | #endif | 778 | #endif |
@@ -970,13 +976,14 @@ int wps_show(void) | |||
970 | exit = true; | 976 | exit = true; |
971 | break; | 977 | break; |
972 | 978 | ||
973 | case SYS_USB_CONNECTED: | ||
974 | usb_screen(); | ||
975 | return SYS_USB_CONNECTED; | ||
976 | |||
977 | case BUTTON_NONE: /* Timeout */ | 979 | case BUTTON_NONE: /* Timeout */ |
978 | update_track = true; | 980 | update_track = true; |
979 | break; | 981 | break; |
982 | |||
983 | default: | ||
984 | if(default_event_handler(button) == SYS_USB_CONNECTED) | ||
985 | return SYS_USB_CONNECTED; | ||
986 | break; | ||
980 | } | 987 | } |
981 | 988 | ||
982 | if (update_track) | 989 | if (update_track) |