summaryrefslogtreecommitdiff
path: root/apps/settings_menu.c
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2003-06-05 11:11:10 +0000
committerBjörn Stenberg <bjorn@haxx.se>2003-06-05 11:11:10 +0000
commit26712d5104531a9ff56f3b7bf0750e061c2ca014 (patch)
tree40c8885db7cb809054b90f1789bd112d5fef15a5 /apps/settings_menu.c
parentd1a6fa113d30fc133e9401b3cce2bfcd0e76e7d3 (diff)
downloadrockbox-26712d5104531a9ff56f3b7bf0750e061c2ca014.tar.gz
rockbox-26712d5104531a9ff56f3b7bf0750e061c2ca014.zip
Made bool options apply instantly (patch #729614). Also cleared up a long-standing issue with int/bool settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3732 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/settings_menu.c')
-rw-r--r--apps/settings_menu.c47
1 files changed, 25 insertions, 22 deletions
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index cc3a1b9307..e51b3f32fd 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -75,9 +75,8 @@ static bool invert(void)
75 bool rc = set_bool_options(str(LANG_INVERT), 75 bool rc = set_bool_options(str(LANG_INVERT),
76 &global_settings.invert, 76 &global_settings.invert,
77 str(LANG_INVERT_LCD_INVERSE), 77 str(LANG_INVERT_LCD_INVERSE),
78 str(LANG_INVERT_LCD_NORMAL)); 78 str(LANG_INVERT_LCD_NORMAL),
79 79 lcd_set_invert_display);
80 lcd_set_invert_display(global_settings.invert);
81 return rc; 80 return rc;
82} 81}
83 82
@@ -89,7 +88,8 @@ static bool invert_cursor(void)
89 return set_bool_options(str(LANG_INVERT_CURSOR), 88 return set_bool_options(str(LANG_INVERT_CURSOR),
90 &global_settings.invert_cursor, 89 &global_settings.invert_cursor,
91 str(LANG_INVERT_CURSOR_BAR), 90 str(LANG_INVERT_CURSOR_BAR),
92 str(LANG_INVERT_CURSOR_POINTER)); 91 str(LANG_INVERT_CURSOR_POINTER),
92 NULL);
93} 93}
94 94
95/** 95/**
@@ -101,7 +101,7 @@ static bool battery_type(void)
101 str(LANG_DISPLAY_NUMERIC) }; 101 str(LANG_DISPLAY_NUMERIC) };
102 102
103 return set_option( str(LANG_BATTERY_DISPLAY), 103 return set_option( str(LANG_BATTERY_DISPLAY),
104 &global_settings.battery_type, names, 2, NULL); 104 &global_settings.battery_type, INT, names, 2, NULL);
105} 105}
106 106
107/** 107/**
@@ -113,7 +113,7 @@ static bool volume_type(void)
113 str(LANG_DISPLAY_NUMERIC) }; 113 str(LANG_DISPLAY_NUMERIC) };
114 114
115 return set_option( str(LANG_VOLUME_DISPLAY), &global_settings.volume_type, 115 return set_option( str(LANG_VOLUME_DISPLAY), &global_settings.volume_type,
116 names, 2, NULL); 116 INT, names, 2, NULL);
117} 117}
118 118
119#ifdef PM_DEBUG 119#ifdef PM_DEBUG
@@ -137,9 +137,9 @@ static bool peak_meter_hold(void) {
137 "8 s", "9 s", "10 s", "15 s", "20 s", 137 "8 s", "9 s", "10 s", "15 s", "20 s",
138 "30 s", "1 min" 138 "30 s", "1 min"
139 }; 139 };
140 retval = set_option( str(LANG_PM_PEAK_HOLD), 140 retval = set_option( str(LANG_PM_PEAK_HOLD),
141 &global_settings.peak_meter_hold, names, 141 &global_settings.peak_meter_hold, INT, names,
142 18, NULL); 142 18, NULL);
143 143
144 peak_meter_init_times(global_settings.peak_meter_release, 144 peak_meter_init_times(global_settings.peak_meter_release,
145 global_settings.peak_meter_hold, 145 global_settings.peak_meter_hold,
@@ -163,8 +163,8 @@ static bool peak_meter_clip_hold(void) {
163 }; 163 };
164 164
165 retval = set_option( str(LANG_PM_CLIP_HOLD), 165 retval = set_option( str(LANG_PM_CLIP_HOLD),
166 &global_settings.peak_meter_clip_hold, names, 166 &global_settings.peak_meter_clip_hold, INT, names,
167 25, peak_meter_set_clip_hold); 167 25, peak_meter_set_clip_hold);
168 168
169 peak_meter_init_times(global_settings.peak_meter_release, 169 peak_meter_init_times(global_settings.peak_meter_release,
170 global_settings.peak_meter_hold, 170 global_settings.peak_meter_hold,
@@ -203,7 +203,8 @@ static bool peak_meter_scale(void) {
203 bool use_dbfs = global_settings.peak_meter_dbfs; 203 bool use_dbfs = global_settings.peak_meter_dbfs;
204 retval = set_bool_options(str(LANG_PM_SCALE), 204 retval = set_bool_options(str(LANG_PM_SCALE),
205 &use_dbfs, 205 &use_dbfs,
206 str(LANG_PM_DBFS), str(LANG_PM_LINEAR)); 206 str(LANG_PM_DBFS), str(LANG_PM_LINEAR),
207 NULL);
207 208
208 /* has the user really changed the scale? */ 209 /* has the user really changed the scale? */
209 if (use_dbfs != global_settings.peak_meter_dbfs) { 210 if (use_dbfs != global_settings.peak_meter_dbfs) {
@@ -315,7 +316,8 @@ static bool peak_meter_performance(void) {
315 bool retval = false; 316 bool retval = false;
316 retval = set_bool_options(str(LANG_PM_PERFORMANCE), 317 retval = set_bool_options(str(LANG_PM_PERFORMANCE),
317 &global_settings.peak_meter_performance, 318 &global_settings.peak_meter_performance,
318 str(LANG_PM_HIGH_PERFORMANCE), str(LANG_PM_ENERGY_SAVER)); 319 str(LANG_PM_HIGH_PERFORMANCE), str(LANG_PM_ENERGY_SAVER),
320 NULL);
319 321
320 if (global_settings.peak_meter_performance) { 322 if (global_settings.peak_meter_performance) {
321 peak_meter_fps = 25; 323 peak_meter_fps = 25;
@@ -368,7 +370,7 @@ static bool repeat_mode(void)
368 int old_repeat = global_settings.repeat_mode; 370 int old_repeat = global_settings.repeat_mode;
369 371
370 result = set_option( str(LANG_REPEAT), &global_settings.repeat_mode, 372 result = set_option( str(LANG_REPEAT), &global_settings.repeat_mode,
371 names, 3, NULL ); 373 INT, names, 3, NULL );
372 374
373 if (old_repeat != global_settings.repeat_mode) 375 if (old_repeat != global_settings.repeat_mode)
374 mpeg_flush_and_reload_tracks(); 376 mpeg_flush_and_reload_tracks();
@@ -388,7 +390,7 @@ static bool dir_filter(void)
388 str(LANG_FILTER_MUSIC), 390 str(LANG_FILTER_MUSIC),
389 str(LANG_FILTER_PLAYLIST) }; 391 str(LANG_FILTER_PLAYLIST) };
390 392
391 return set_option( str(LANG_FILTER), &global_settings.dirfilter, 393 return set_option( str(LANG_FILTER), &global_settings.dirfilter, INT,
392 names, 4, NULL ); 394 names, 4, NULL );
393} 395}
394 396
@@ -404,7 +406,7 @@ static bool resume(void)
404 str(LANG_RESUME_SETTING_ASK_ONCE), 406 str(LANG_RESUME_SETTING_ASK_ONCE),
405 str(LANG_SET_BOOL_YES) }; 407 str(LANG_SET_BOOL_YES) };
406 408
407 return set_option( str(LANG_RESUME), &global_settings.resume, 409 return set_option( str(LANG_RESUME), &global_settings.resume, INT,
408 names, 4, NULL ); 410 names, 4, NULL );
409} 411}
410 412
@@ -425,7 +427,7 @@ static bool backlight_timer(void)
425 "60s", "90s"}; 427 "60s", "90s"};
426 428
427 return set_option(str(LANG_BACKLIGHT), &global_settings.backlight_timeout, 429 return set_option(str(LANG_BACKLIGHT), &global_settings.backlight_timeout,
428 names, 19, backlight_set_timeout ); 430 INT, names, 19, backlight_set_timeout );
429} 431}
430 432
431static bool poweroff_idle_timer(void) 433static bool poweroff_idle_timer(void)
@@ -436,7 +438,7 @@ static bool poweroff_idle_timer(void)
436 "15m", "30m", "45m", "60m"}; 438 "15m", "30m", "45m", "60m"};
437 439
438 return set_option(str(LANG_POWEROFF_IDLE), &global_settings.poweroff, 440 return set_option(str(LANG_POWEROFF_IDLE), &global_settings.poweroff,
439 names, 15, set_poweroff_timeout); 441 INT, names, 15, set_poweroff_timeout);
440} 442}
441 443
442static bool scroll_speed(void) 444static bool scroll_speed(void)
@@ -477,7 +479,7 @@ static bool jump_scroll(void)
477 "3", "4", str(LANG_ALWAYS)}; 479 "3", "4", str(LANG_ALWAYS)};
478 bool ret; 480 bool ret;
479 ret=set_option(str(LANG_JUMP_SCROLL), &global_settings.jump_scroll, 481 ret=set_option(str(LANG_JUMP_SCROLL), &global_settings.jump_scroll,
480 names, 6, lcd_jump_scroll); 482 INT, names, 6, lcd_jump_scroll);
481 if (!ret && global_settings.jump_scroll>=JUMP_SCROLL_ALWAYS) { 483 if (!ret && global_settings.jump_scroll>=JUMP_SCROLL_ALWAYS) {
482 global_settings.jump_scroll=254; /* Nice future "safe" value */ 484 global_settings.jump_scroll=254; /* Nice future "safe" value */
483 } 485 }
@@ -609,7 +611,8 @@ static bool timeformat_set(void)
609 char* names[] = { str(LANG_24_HOUR_CLOCK), 611 char* names[] = { str(LANG_24_HOUR_CLOCK),
610 str(LANG_12_HOUR_CLOCK) }; 612 str(LANG_12_HOUR_CLOCK) };
611 613
612 return set_option(str(LANG_TIMEFORMAT), &global_settings.timeformat, names, 2, NULL); 614 return set_option(str(LANG_TIMEFORMAT), &global_settings.timeformat,
615 INT, names, 2, NULL);
613} 616}
614#endif 617#endif
615 618
@@ -657,7 +660,7 @@ static bool ff_rewind_min_step(void)
657 "45s", "60s" }; 660 "45s", "60s" };
658 661
659 return set_option(str(LANG_FFRW_STEP), &global_settings.ff_rewind_min_step, 662 return set_option(str(LANG_FFRW_STEP), &global_settings.ff_rewind_min_step,
660 names, 14, NULL ); 663 INT, names, 14, NULL );
661} 664}
662 665
663static bool set_fade_on_stop(void) 666static bool set_fade_on_stop(void)
@@ -674,7 +677,7 @@ static bool ff_rewind_accel(void)
674 "2x/12s", "2x/13s", "2x/14s", "2x/15s", }; 677 "2x/12s", "2x/13s", "2x/14s", "2x/15s", };
675 678
676 return set_option(str(LANG_FFRW_ACCEL), &global_settings.ff_rewind_accel, 679 return set_option(str(LANG_FFRW_ACCEL), &global_settings.ff_rewind_accel,
677 names, 16, NULL ); 680 INT, names, 16, NULL );
678} 681}
679 682
680static bool browse_current(void) 683static bool browse_current(void)