summaryrefslogtreecommitdiffstats
path: root/apps/gui/quickscreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/quickscreen.c')
-rw-r--r--apps/gui/quickscreen.c47
1 files changed, 13 insertions, 34 deletions
diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c
index 4eebe09fd3..356f74b283 100644
--- a/apps/gui/quickscreen.c
+++ b/apps/gui/quickscreen.c
@@ -417,15 +417,6 @@ static int gui_syncquickscreen_run(struct gui_quickscreen * qs, int button_enter
return ret;
}
-static const struct settings_list *get_setting(int gs_value,
- const struct settings_list *defaultval)
-{
- if (gs_value != -1 && gs_value < nb_settings &&
- is_setting_quickscreenable(&settings[gs_value]))
- return &settings[gs_value];
- return defaultval;
-}
-
int quick_screen_quick(int button_enter)
{
struct gui_quickscreen qs;
@@ -436,16 +427,13 @@ int quick_screen_quick(int button_enter)
#endif
bool usb = false;
- qs.items[QUICKSCREEN_TOP] =
- get_setting(global_settings.qs_items[QUICKSCREEN_TOP], NULL);
- qs.items[QUICKSCREEN_LEFT] =
- get_setting(global_settings.qs_items[QUICKSCREEN_LEFT],
- find_setting(&global_settings.playlist_shuffle, NULL));
- qs.items[QUICKSCREEN_RIGHT] =
- get_setting(global_settings.qs_items[QUICKSCREEN_RIGHT],
- find_setting(&global_settings.repeat_mode, NULL));
- qs.items[QUICKSCREEN_BOTTOM] =
- get_setting(global_settings.qs_items[QUICKSCREEN_BOTTOM], NULL);
+ for (int i = 0; i < 4; ++i)
+ {
+ qs.items[i] = global_settings.qs_items[i];
+
+ if (!is_setting_quickscreenable(qs.items[i]))
+ qs.items[i] = NULL;
+ }
qs.callback = NULL;
int ret = gui_syncquickscreen_run(&qs, button_enter, &usb);
@@ -481,10 +469,14 @@ int quick_screen_quick(int button_enter)
/* stuff to make the quickscreen configurable */
bool is_setting_quickscreenable(const struct settings_list *setting)
{
+ if (!setting)
+ return true;
+
/* to keep things simple, only settings which have a lang_id set are ok */
- if (setting->lang_id < 0 || (setting->flags&F_BANFROMQS))
+ if (setting->lang_id < 0 || (setting->flags & F_BANFROMQS))
return false;
- switch (setting->flags&F_T_MASK)
+
+ switch (setting->flags & F_T_MASK)
{
case F_T_BOOL:
return true;
@@ -495,16 +487,3 @@ bool is_setting_quickscreenable(const struct settings_list *setting)
return false;
}
}
-
-void set_as_qs_item(const struct settings_list *setting,
- enum quickscreen_item item)
-{
- int i;
- for (i = 0; i < nb_settings; i++)
- {
- if (&settings[i] == setting)
- break;
- }
-
- global_settings.qs_items[item] = i;
-}