summaryrefslogtreecommitdiff
path: root/apps/settings_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings_list.c')
-rw-r--r--apps/settings_list.c58
1 files changed, 20 insertions, 38 deletions
diff --git a/apps/settings_list.c b/apps/settings_list.c
index ab02683d94..2ff4258c54 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -593,52 +593,34 @@ static void eq_set_default(void* setting, void* defaultval)
593} 593}
594 594
595#ifdef HAVE_QUICKSCREEN 595#ifdef HAVE_QUICKSCREEN
596static int find_setting_by_name(char*name) 596static void qs_load_from_cfg(void *var, char *value)
597{ 597{
598 int i = 0; 598 const struct settings_list **item = var;
599 const struct settings_list *setting; 599
600 if (!strcmp(name, "-")) 600 if (*value == '-')
601 return -1; 601 *item = NULL;
602 while (i<nb_settings) 602 else
603 { 603 *item = find_setting_by_cfgname(value, NULL);
604 setting = &settings[i];
605 if (setting->cfg_name && !strcmp(setting->cfg_name, name))
606 {
607 return i;
608 }
609 i++;
610 }
611 return -1;
612}
613static void qs_load_from_cfg(void* var, char*value)
614{
615 *(int*)var = find_setting_by_name(value);
616} 604}
617static char* qs_write_to_cfg(void* setting, char*buf, int buf_len) 605
606static char* qs_write_to_cfg(void *var, char *buf, int buf_len)
618{ 607{
619 int index = *(int*)setting; 608 const struct settings_list *setting = *(const struct settings_list **)var;
620 if (index < 0 || index >= nb_settings) 609
621 { 610 strmemccpy(buf, setting ? setting->cfg_name : "-", buf_len);
622 strmemccpy(buf, "-", buf_len);
623 return buf;
624 }
625 const struct settings_list *var = &settings[index];
626 strmemccpy(buf, var->cfg_name, buf_len);
627 return buf; 611 return buf;
628} 612}
629static bool qs_is_changed(void* setting, void* defaultval) 613
614static bool qs_is_changed(void* var, void* defaultval)
630{ 615{
631 int i = *(int*)setting; 616 const struct settings_list *defaultsetting = find_setting(defaultval, NULL);
632 if (i < 0 || i >= nb_settings) 617
633 return false; 618 return var != defaultsetting;
634 const struct settings_list *var = &settings[i];
635 return var != find_setting(defaultval, NULL);
636} 619}
637static void qs_set_default(void* setting, void* defaultval) 620
621static void qs_set_default(void* var, void* defaultval)
638{ 622{
639 if (defaultval == NULL) 623 *(const struct settings_list **)var = find_setting(defaultval, NULL);
640 *(int*)setting = -1;
641 find_setting(defaultval, (int*)setting);
642} 624}
643#endif 625#endif
644#ifdef HAVE_TOUCHSCREEN 626#ifdef HAVE_TOUCHSCREEN