diff options
Diffstat (limited to 'apps/settings.c')
-rw-r--r-- | apps/settings.c | 15 |
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) |