summaryrefslogtreecommitdiff
path: root/apps/bookmark.c
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2004-09-19 21:58:37 +0000
committerBjörn Stenberg <bjorn@haxx.se>2004-09-19 21:58:37 +0000
commit6c33c51a4ca9907d23e3154d956fd6781122f492 (patch)
treef0e598efaf064bb72c33c0a8a2edba4cf9ebb13c /apps/bookmark.c
parent17f54a40f100a3343a15a431d235699024aa76c8 (diff)
downloadrockbox-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.c69
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;