diff options
author | Björn Stenberg <bjorn@haxx.se> | 2003-06-05 11:11:10 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2003-06-05 11:11:10 +0000 |
commit | 26712d5104531a9ff56f3b7bf0750e061c2ca014 (patch) | |
tree | 40c8885db7cb809054b90f1789bd112d5fef15a5 /apps/settings_menu.c | |
parent | d1a6fa113d30fc133e9401b3cce2bfcd0e76e7d3 (diff) | |
download | rockbox-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.c | 47 |
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 | ||
431 | static bool poweroff_idle_timer(void) | 433 | static 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 | ||
442 | static bool scroll_speed(void) | 444 | static 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 | ||
663 | static bool set_fade_on_stop(void) | 666 | static 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 | ||
680 | static bool browse_current(void) | 683 | static bool browse_current(void) |