From 6c33c51a4ca9907d23e3154d956fd6781122f492 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Sun, 19 Sep 2004 21:58:37 +0000 Subject: 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 --- apps/sleeptimer.c | 96 ++++++++++++++++++++++--------------------------------- 1 file changed, 39 insertions(+), 57 deletions(-) (limited to 'apps/sleeptimer.c') diff --git a/apps/sleeptimer.c b/apps/sleeptimer.c index 4fc7515ac0..55599bf7b3 100644 --- a/apps/sleeptimer.c +++ b/apps/sleeptimer.c @@ -69,68 +69,50 @@ bool sleeptimer_screen(void) button = button_get_w_tmo(HZ); switch(button) { -#ifdef HAVE_RECORDER_KEYPAD - case BUTTON_LEFT: - case BUTTON_PLAY: -#else - case BUTTON_PLAY: -#endif - done = true; - break; - -#ifdef HAVE_RECORDER_KEYPAD - case BUTTON_OFF: -#else - case BUTTON_STOP: - case BUTTON_MENU: -#endif - if (changed) { - lcd_stop_scroll(); - lcd_puts(0, 0, str(LANG_MENU_SETTING_CANCEL)); - lcd_update(); - set_sleep_timer(org_timer); - sleep(HZ/2); - } - done = true; - break; - -#if defined(HAVE_PLAYER_KEYPAD) || defined(HAVE_NEO_KEYPAD) || defined(HAVE_ONDIO_KEYPAD) - case BUTTON_RIGHT: -#else - case BUTTON_UP: -#endif - oldtime = (get_sleep_timer()+59) / 60; - if(oldtime < THRESHOLD) - amount = SMALL_STEP_SIZE; - else - amount = LARGE_STEP_SIZE; + case SETTINGS_OK: + done = true; + break; + + case SETTINGS_CANCEL: + if (changed) { + lcd_stop_scroll(); + lcd_puts(0, 0, str(LANG_MENU_SETTING_CANCEL)); + lcd_update(); + set_sleep_timer(org_timer); + sleep(HZ/2); + } + done = true; + break; + + case SETTINGS_INC: + oldtime = (get_sleep_timer()+59) / 60; + if(oldtime < THRESHOLD) + amount = SMALL_STEP_SIZE; + else + amount = LARGE_STEP_SIZE; - newtime = oldtime * 60 + amount; - if(newtime > MAX_TIME) - newtime = MAX_TIME; + newtime = oldtime * 60 + amount; + if(newtime > MAX_TIME) + newtime = MAX_TIME; - changed = sayit = true; - set_sleep_timer(newtime); - break; + changed = sayit = true; + set_sleep_timer(newtime); + break; -#if defined(HAVE_PLAYER_KEYPAD) || defined(HAVE_ONDIO_KEYPAD) - case BUTTON_LEFT: -#else - case BUTTON_DOWN: -#endif - oldtime = (get_sleep_timer()+59) / 60; - if(oldtime <= THRESHOLD) - amount = SMALL_STEP_SIZE; - else - amount = LARGE_STEP_SIZE; + case SETTINGS_DEC: + oldtime = (get_sleep_timer()+59) / 60; + if(oldtime <= THRESHOLD) + amount = SMALL_STEP_SIZE; + else + amount = LARGE_STEP_SIZE; - newtime = oldtime*60 - amount; - if(newtime < 0) - newtime = 0; + newtime = oldtime*60 - amount; + if(newtime < 0) + newtime = 0; - changed = sayit = true; - set_sleep_timer(newtime); - break; + changed = sayit = true; + set_sleep_timer(newtime); + break; } seconds = get_sleep_timer(); -- cgit v1.2.3