diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 17 | ||||
-rw-r--r-- | apps/settings_list.c | 12 | ||||
-rw-r--r-- | apps/settings_list.h | 3 |
3 files changed, 22 insertions, 10 deletions
diff --git a/apps/menu.c b/apps/menu.c index a45567415d..e1a5e99c68 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -494,13 +494,24 @@ bool do_setting_from_menu(const struct menu_item_ex *temp) | |||
494 | } | 494 | } |
495 | if (setting->flags&F_INT_SETTING) | 495 | if (setting->flags&F_INT_SETTING) |
496 | { | 496 | { |
497 | int min, max, step; | ||
498 | if (setting->flags&F_FLIPLIST) | ||
499 | { | ||
500 | min = setting->int_setting->max; | ||
501 | max = setting->int_setting->min; | ||
502 | step = -setting->int_setting->step; | ||
503 | } | ||
504 | else | ||
505 | { | ||
506 | max = setting->int_setting->max; | ||
507 | min = setting->int_setting->min; | ||
508 | step = setting->int_setting->step; | ||
509 | } | ||
497 | set_int_ex(str(setting->lang_id), | 510 | set_int_ex(str(setting->lang_id), |
498 | NULL, | 511 | NULL, |
499 | setting->int_setting->unit,var, | 512 | setting->int_setting->unit,var, |
500 | setting->int_setting->option_callback, | 513 | setting->int_setting->option_callback, |
501 | setting->int_setting->step, | 514 | step, min, max, |
502 | setting->int_setting->min, | ||
503 | setting->int_setting->max, | ||
504 | setting->int_setting->formatter, | 515 | setting->int_setting->formatter, |
505 | setting->int_setting->get_talk_id); | 516 | setting->int_setting->get_talk_id); |
506 | } | 517 | } |
diff --git a/apps/settings_list.c b/apps/settings_list.c index a505232643..3203414afe 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -413,12 +413,12 @@ const struct settings_list settings[] = { | |||
413 | MAX_CONTRAST_SETTING, 1, NULL, NULL}}}}, | 413 | MAX_CONTRAST_SETTING, 1, NULL, NULL}}}}, |
414 | #endif | 414 | #endif |
415 | #if CONFIG_BACKLIGHT | 415 | #if CONFIG_BACKLIGHT |
416 | INT_SETTING_W_CFGVALS(0, backlight_timeout, LANG_BACKLIGHT, 6, | 416 | INT_SETTING_W_CFGVALS(F_FLIPLIST, backlight_timeout, LANG_BACKLIGHT, 6, |
417 | "backlight timeout", backlight_times_conf, UNIT_SEC, | 417 | "backlight timeout", backlight_times_conf, UNIT_SEC, |
418 | 0, 18, 1, backlight_formatter, backlight_getlang, | 418 | 0, 18, 1, backlight_formatter, backlight_getlang, |
419 | backlight_set_timeout), | 419 | backlight_set_timeout), |
420 | #if CONFIG_CHARGING | 420 | #if CONFIG_CHARGING |
421 | INT_SETTING_W_CFGVALS(0, backlight_timeout_plugged, | 421 | INT_SETTING_W_CFGVALS(F_FLIPLIST, backlight_timeout_plugged, |
422 | LANG_BACKLIGHT_ON_WHEN_CHARGING, 11, | 422 | LANG_BACKLIGHT_ON_WHEN_CHARGING, 11, |
423 | "backlight timeout plugged", backlight_times_conf, UNIT_SEC, | 423 | "backlight timeout plugged", backlight_times_conf, UNIT_SEC, |
424 | 0, 18, 1, backlight_formatter, backlight_getlang, | 424 | 0, 18, 1, backlight_formatter, backlight_getlang, |
@@ -449,7 +449,7 @@ const struct settings_list settings[] = { | |||
449 | #endif /* HAVE_LCD_BITMAP */ | 449 | #endif /* HAVE_LCD_BITMAP */ |
450 | OFFON_SETTING(0,show_icons, LANG_SHOW_ICONS ,true,"show icons", NULL), | 450 | OFFON_SETTING(0,show_icons, LANG_SHOW_ICONS ,true,"show icons", NULL), |
451 | /* system */ | 451 | /* system */ |
452 | INT_SETTING_W_CFGVALS(0, poweroff, LANG_POWEROFF_IDLE, 10, "idle poweroff", | 452 | INT_SETTING_W_CFGVALS(F_FLIPLIST, poweroff, LANG_POWEROFF_IDLE, 10, "idle poweroff", |
453 | "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60", UNIT_MIN, | 453 | "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60", UNIT_MIN, |
454 | 0, 14, 1, poweroff_idle_timer_formatter, | 454 | 0, 14, 1, poweroff_idle_timer_formatter, |
455 | poweroff_idle_timer_getlang, set_poweroff_timeout), | 455 | poweroff_idle_timer_getlang, set_poweroff_timeout), |
@@ -502,12 +502,12 @@ const struct settings_list settings[] = { | |||
502 | LANG_INVERT_LCD_INVERSE, LANG_INVERT_LCD_NORMAL, lcd_remote_set_invert_display), | 502 | LANG_INVERT_LCD_INVERSE, LANG_INVERT_LCD_NORMAL, lcd_remote_set_invert_display), |
503 | OFFON_SETTING(0,remote_flip_display, LANG_FLIP_DISPLAY, | 503 | OFFON_SETTING(0,remote_flip_display, LANG_FLIP_DISPLAY, |
504 | false,"remote flip display", NULL), | 504 | false,"remote flip display", NULL), |
505 | INT_SETTING_W_CFGVALS(0, remote_backlight_timeout, LANG_BACKLIGHT, 6, | 505 | INT_SETTING_W_CFGVALS(F_FLIPLIST, remote_backlight_timeout, LANG_BACKLIGHT, 6, |
506 | "remote backlight timeout", backlight_times_conf, UNIT_SEC, | 506 | "remote backlight timeout", backlight_times_conf, UNIT_SEC, |
507 | 0, 18, 1, backlight_formatter, backlight_getlang, | 507 | 0, 18, 1, backlight_formatter, backlight_getlang, |
508 | remote_backlight_set_timeout), | 508 | remote_backlight_set_timeout), |
509 | #if CONFIG_CHARGING | 509 | #if CONFIG_CHARGING |
510 | INT_SETTING_W_CFGVALS(0, remote_backlight_timeout_plugged, LANG_BACKLIGHT, 11, | 510 | INT_SETTING_W_CFGVALS(F_FLIPLIST, remote_backlight_timeout_plugged, LANG_BACKLIGHT, 11, |
511 | "remote backlight timeout plugged", backlight_times_conf, UNIT_SEC, | 511 | "remote backlight timeout plugged", backlight_times_conf, UNIT_SEC, |
512 | 0, 18, 1, backlight_formatter, backlight_getlang, | 512 | 0, 18, 1, backlight_formatter, backlight_getlang, |
513 | remote_backlight_set_timeout_plugged), | 513 | remote_backlight_set_timeout_plugged), |
@@ -600,7 +600,7 @@ const struct settings_list settings[] = { | |||
600 | OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), | 600 | OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), |
601 | OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL), | 601 | OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL), |
602 | OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL), | 602 | OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL), |
603 | INT_SETTING_W_CFGVALS(0, ff_rewind_min_step, LANG_FFRW_STEP, FF_REWIND_1000, | 603 | INT_SETTING_W_CFGVALS(F_FLIPLIST, ff_rewind_min_step, LANG_FFRW_STEP, FF_REWIND_1000, |
604 | "scan min step", "1,2,3,4,5,6,8,10,15,20,25,30,45,60", UNIT_SEC, | 604 | "scan min step", "1,2,3,4,5,6,8,10,15,20,25,30,45,60", UNIT_SEC, |
605 | 13, 0, -1, ff_rewind_min_step_formatter, | 605 | 13, 0, -1, ff_rewind_min_step_formatter, |
606 | ff_rewind_min_step_getlang, NULL), | 606 | ff_rewind_min_step_getlang, NULL), |
diff --git a/apps/settings_list.h b/apps/settings_list.h index e8d7be340a..061f20799f 100644 --- a/apps/settings_list.h +++ b/apps/settings_list.h | |||
@@ -102,9 +102,10 @@ struct choice_setting { | |||
102 | - a NVRAM setting is removed | 102 | - a NVRAM setting is removed |
103 | */ | 103 | */ |
104 | #define F_TEMPVAR 0x400 /* used if the setting should be set using a temp var */ | 104 | #define F_TEMPVAR 0x400 /* used if the setting should be set using a temp var */ |
105 | #define F_FLIPLIST 0x800 /* used if the order in the setting screen is backwards */ | ||
105 | 106 | ||
106 | struct settings_list { | 107 | struct settings_list { |
107 | uint32_t flags; /* ____ ____ TFFF ____ NNN_ _TVC IFRB STTT */ | 108 | uint32_t flags; /* ____ ____ TFFF ____ NNN_ FTVC IFRB STTT */ |
108 | void *setting; | 109 | void *setting; |
109 | int lang_id; /* -1 for none */ | 110 | int lang_id; /* -1 for none */ |
110 | union storage_type default_val; | 111 | union storage_type default_val; |