summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/apps/settings.c b/apps/settings.c
index e15bfc8638..bdfaba2f44 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -282,6 +282,9 @@ bool settings_load_config(const char* file, bool apply)
282 { 282 {
283 switch (settings[i].flags&F_T_MASK) 283 switch (settings[i].flags&F_T_MASK)
284 { 284 {
285 case F_T_CUSTOM:
286 settings[i].custom_setting->load_from_cfg(settings[i].setting, value);
287 break;
285 case F_T_INT: 288 case F_T_INT:
286 case F_T_UINT: 289 case F_T_UINT:
287#ifdef HAVE_LCD_COLOR 290#ifdef HAVE_LCD_COLOR
@@ -419,6 +422,10 @@ static bool is_changed(int setting_id)
419 const struct settings_list *setting = &settings[setting_id]; 422 const struct settings_list *setting = &settings[setting_id];
420 switch (setting->flags&F_T_MASK) 423 switch (setting->flags&F_T_MASK)
421 { 424 {
425 case F_T_CUSTOM:
426 return setting->custom_setting->is_changed(setting->setting,
427 setting->default_val.custom);
428 break;
422 case F_T_INT: 429 case F_T_INT:
423 case F_T_UINT: 430 case F_T_UINT:
424 if (setting->flags&F_DEF_ISFUNC) 431 if (setting->flags&F_DEF_ISFUNC)
@@ -498,6 +505,10 @@ static bool settings_write_config(const char* filename, int options)
498 } 505 }
499 switch (settings[i].flags&F_T_MASK) 506 switch (settings[i].flags&F_T_MASK)
500 { 507 {
508 case F_T_CUSTOM:
509 settings[i].custom_setting->write_to_cfg(settings[i].setting,
510 value, MAX_PATH);
511 break;
501 case F_T_INT: 512 case F_T_INT:
502 case F_T_UINT: 513 case F_T_UINT:
503#ifdef HAVE_LCD_COLOR 514#ifdef HAVE_LCD_COLOR
@@ -952,6 +963,10 @@ void reset_setting(const struct settings_list *setting, void *var)
952{ 963{
953 switch (setting->flags&F_T_MASK) 964 switch (setting->flags&F_T_MASK)
954 { 965 {
966 case F_T_CUSTOM:
967 setting->custom_setting->set_default(setting->setting,
968 setting->default_val.custom);
969 break;
955 case F_T_INT: 970 case F_T_INT:
956 case F_T_UINT: 971 case F_T_UINT:
957 if (setting->flags&F_DEF_ISFUNC) 972 if (setting->flags&F_DEF_ISFUNC)