From 5d75f7e718a478e9abab5e94dec925ee22801275 Mon Sep 17 00:00:00 2001 From: Kjell Ericson Date: Tue, 14 Jan 2003 13:49:28 +0000 Subject: Added cancel options in settings menues. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3083 a1c6a512-1295-4272-9138-f99709370657 --- apps/settings.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'apps/settings.c') diff --git a/apps/settings.c b/apps/settings.c index 1e857d2..5357a95 100644 --- a/apps/settings.c +++ b/apps/settings.c @@ -934,6 +934,7 @@ bool set_int(char* string, { bool done = false; int button; + int org_value=*variable; #ifdef HAVE_LCD_BITMAP if(global_settings.statusbar) @@ -978,10 +979,30 @@ bool set_int(char* string, #ifdef HAVE_RECORDER_KEYPAD case BUTTON_LEFT: + case BUTTON_PLAY: +#else + case BUTTON_PLAY: +#endif + done = true; + if (*variable != org_value) { + lcd_stop_scroll(); + lcd_puts(0, 0, str(LANG_MENU_SETTING_OK)); + sleep(HZ/2); + } + break; + +#ifdef HAVE_RECORDER_KEYPAD + case BUTTON_OFF: #else case BUTTON_STOP: case BUTTON_MENU: #endif + if (*variable != org_value) { + *variable=org_value; + lcd_stop_scroll(); + lcd_puts(0, 0, str(LANG_MENU_SETTING_CANCEL)); + sleep(HZ/2); + } done = true; break; @@ -1009,6 +1030,7 @@ bool set_option(char* string, int* variable, char* options[], { bool done = false; int button; + int org_value=*variable; #ifdef HAVE_LCD_BITMAP if(global_settings.statusbar) @@ -1016,6 +1038,7 @@ bool set_option(char* string, int* variable, char* options[], else lcd_setmargins(0, 0); #endif + lcd_clear_display(); lcd_puts_scroll(0, 0, string); @@ -1056,10 +1079,30 @@ bool set_option(char* string, int* variable, char* options[], #ifdef HAVE_RECORDER_KEYPAD case BUTTON_LEFT: + case BUTTON_PLAY: +#else + case BUTTON_PLAY: +#endif + done = true; + if (*variable != org_value) { + lcd_stop_scroll(); + lcd_puts(0, 0, str(LANG_MENU_SETTING_OK)); + sleep(HZ/2); + } + break; + +#ifdef HAVE_RECORDER_KEYPAD + case BUTTON_OFF: #else case BUTTON_STOP: case BUTTON_MENU: #endif + if (*variable != org_value) { + *variable=org_value; + lcd_stop_scroll(); + lcd_puts(0, 0, str(LANG_MENU_SETTING_CANCEL)); + sleep(HZ/2); + } done = true; break; -- cgit v1.1