diff options
author | Björn Stenberg <bjorn@haxx.se> | 2004-09-19 21:58:37 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2004-09-19 21:58:37 +0000 |
commit | 6c33c51a4ca9907d23e3154d956fd6781122f492 (patch) | |
tree | f0e598efaf064bb72c33c0a8a2edba4cf9ebb13c /apps/bookmark.c | |
parent | 17f54a40f100a3343a15a431d235699024aa76c8 (diff) | |
download | rockbox-6c33c51a4ca9907d23e3154d956fd6781122f492.tar.gz rockbox-6c33c51a4ca9907d23e3154d956fd6781122f492.zip |
Redesigned the button handling. The code now uses symbolic function defines instead of checking for specific buttons. This makes it easier to add support for new devices with different button layouts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5091 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/bookmark.c')
-rw-r--r-- | apps/bookmark.c | 69 |
1 files changed, 28 insertions, 41 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c index ed85ff6222..9488e52d3d 100644 --- a/apps/bookmark.c +++ b/apps/bookmark.c | |||
@@ -256,33 +256,25 @@ bool bookmark_autobookmark(void) | |||
256 | { | 256 | { |
257 | /* Wait for a key to be pushed */ | 257 | /* Wait for a key to be pushed */ |
258 | key = button_get(true); | 258 | key = button_get(true); |
259 | switch (key) | 259 | if (key & BUTTON_REL) |
260 | { | 260 | { |
261 | case BUTTON_DOWN | BUTTON_REL: | 261 | #ifdef BUTTON_PLAY |
262 | case BUTTON_ON | BUTTON_REL: | 262 | if (key & BUTTON_PLAY) |
263 | #ifdef HAVE_RECORDER_KEYPAD | 263 | #else |
264 | case BUTTON_OFF | BUTTON_REL: | 264 | if (key & BUTTON_RIGHT) |
265 | case BUTTON_RIGHT | BUTTON_REL: | ||
266 | case BUTTON_UP | BUTTON_REL: | ||
267 | #endif | 265 | #endif |
268 | case BUTTON_LEFT | BUTTON_REL: | 266 | { |
269 | done = true; | ||
270 | break; | ||
271 | |||
272 | case BUTTON_PLAY | BUTTON_REL: | ||
273 | if (global_settings.autocreatebookmark == | 267 | if (global_settings.autocreatebookmark == |
274 | BOOKMARK_RECENT_ONLY_ASK) | 268 | BOOKMARK_RECENT_ONLY_ASK) |
275 | write_bookmark(false); | 269 | write_bookmark(false); |
276 | else | 270 | else |
277 | write_bookmark(true); | 271 | write_bookmark(true); |
278 | done = true; | 272 | } |
279 | break; | 273 | done = true; |
280 | |||
281 | default: | ||
282 | if(default_event_handler(key) == SYS_USB_CONNECTED) | ||
283 | return false; | ||
284 | break; | ||
285 | } | 274 | } |
275 | |||
276 | if (default_event_handler(key) == SYS_USB_CONNECTED) | ||
277 | return false; | ||
286 | } | 278 | } |
287 | return true; | 279 | return true; |
288 | } | 280 | } |
@@ -520,7 +512,11 @@ bool bookmark_autoload(const char* file) | |||
520 | case BUTTON_DOWN: | 512 | case BUTTON_DOWN: |
521 | return bookmark_load(global_bookmark_file_name, false); | 513 | return bookmark_load(global_bookmark_file_name, false); |
522 | #endif | 514 | #endif |
515 | #ifdef BUTTON_PLAY | ||
523 | case BUTTON_PLAY: | 516 | case BUTTON_PLAY: |
517 | #else | ||
518 | case BUTTON_RIGHT: | ||
519 | #endif | ||
524 | return bookmark_load(global_bookmark_file_name, true); | 520 | return bookmark_load(global_bookmark_file_name, true); |
525 | 521 | ||
526 | default: | 522 | default: |
@@ -668,7 +664,10 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
668 | key = button_get(true); | 664 | key = button_get(true); |
669 | switch(key) | 665 | switch(key) |
670 | { | 666 | { |
671 | case BUTTON_PLAY: | 667 | case SETTINGS_OK: |
668 | #ifdef SETTINGS_OK2 | ||
669 | case SETTINGS_OK2: | ||
670 | #endif | ||
672 | /* User wants to use this bookmark */ | 671 | /* User wants to use this bookmark */ |
673 | #ifdef HAVE_LCD_BITMAP | 672 | #ifdef HAVE_LCD_BITMAP |
674 | if (global_settings.statusbar) | 673 | if (global_settings.statusbar) |
@@ -678,7 +677,11 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
678 | #endif | 677 | #endif |
679 | return bookmark; | 678 | return bookmark; |
680 | 679 | ||
680 | #if defined(BUTTON_ON) && defined(BUTTON_PLAY) | ||
681 | case BUTTON_ON | BUTTON_PLAY: | 681 | case BUTTON_ON | BUTTON_PLAY: |
682 | #elif defined(BUTTON_MENU) && defined(BUTTON_RIGHT) | ||
683 | case BUTTON_MENU | BUTTON_RIGHT: | ||
684 | #endif | ||
682 | /* User wants to delete this bookmark */ | 685 | /* User wants to delete this bookmark */ |
683 | delete_bookmark(bookmark_file_name, bookmark_id); | 686 | delete_bookmark(bookmark_file_name, bookmark_id); |
684 | bookmark_id_prev=-1; | 687 | bookmark_id_prev=-1; |
@@ -687,36 +690,20 @@ static char* select_bookmark(const char* bookmark_file_name) | |||
687 | while (button_get(false)); /* clear button queue */ | 690 | while (button_get(false)); /* clear button queue */ |
688 | break; | 691 | break; |
689 | 692 | ||
690 | #ifdef HAVE_RECORDER_KEYPAD | 693 | case SETTINGS_DEC: |
691 | case BUTTON_UP: | ||
692 | bookmark_id--; | 694 | bookmark_id--; |
693 | break; | 695 | break; |
694 | 696 | ||
695 | case BUTTON_DOWN: | 697 | case SETTINGS_INC: |
696 | bookmark_id++; | 698 | bookmark_id++; |
697 | break; | 699 | break; |
698 | 700 | ||
699 | case BUTTON_LEFT: | 701 | case SETTINGS_CANCEL: |
700 | case BUTTON_OFF: | 702 | #ifdef SETTINGS_CANCEL2 |
701 | #ifdef HAVE_LCD_BITMAP | 703 | case SETTINGS_CANCEL2: |
702 | if (global_settings.statusbar) | ||
703 | lcd_setmargins(0, STATUSBAR_HEIGHT); | ||
704 | else | ||
705 | lcd_setmargins(0, 0); | ||
706 | #endif | 704 | #endif |
707 | return NULL; | 705 | return NULL; |
708 | #else | ||
709 | case BUTTON_LEFT: | ||
710 | bookmark_id--; | ||
711 | break; | ||
712 | 706 | ||
713 | case BUTTON_RIGHT: | ||
714 | bookmark_id++; | ||
715 | break; | ||
716 | |||
717 | case BUTTON_STOP: | ||
718 | return NULL; | ||
719 | #endif | ||
720 | default: | 707 | default: |
721 | if(default_event_handler(key) == SYS_USB_CONNECTED) | 708 | if(default_event_handler(key) == SYS_USB_CONNECTED) |
722 | return NULL; | 709 | return NULL; |