summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
authorKjell Ericson <kjell@haxx.se>2003-01-14 13:49:28 +0000
committerKjell Ericson <kjell@haxx.se>2003-01-14 13:49:28 +0000
commit5d75f7e718a478e9abab5e94dec925ee22801275 (patch)
tree2570f269368872d3f6c61657ee26666882a767e0 /apps/settings.c
parent5caec3ae2a0975216e86991677d5bd87798b1844 (diff)
downloadrockbox-5d75f7e718a478e9abab5e94dec925ee22801275.zip
rockbox-5d75f7e718a478e9abab5e94dec925ee22801275.tar.gz
rockbox-5d75f7e718a478e9abab5e94dec925ee22801275.tar.bz2
rockbox-5d75f7e718a478e9abab5e94dec925ee22801275.tar.xz
Added cancel options in settings menues.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3083 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c43
1 files changed, 43 insertions, 0 deletions
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;