summaryrefslogtreecommitdiffstats
path: root/apps/gui/option_select.c
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-09-19 12:48:15 +0100
committerAidan MacDonald <amachronic@protonmail.com>2022-10-05 11:22:55 -0400
commitd5a081cbd1b871baf4e5d2c276fbabbc30c7994b (patch)
treeaac3c9377be8433ad15c4ca2a733d3a7c81aad97 /apps/gui/option_select.c
parentff378deb69951a53b866f3d3c6ee13022e520436 (diff)
downloadrockbox-d5a081cbd1.tar.gz
rockbox-d5a081cbd1.zip
gui: Remove "enum list_wrap" from list action functions
Removing the "list_wrap" argument is actually pretty easy. In practice, almost all lists are using LIST_WRAP_UNLESS_HELD behavior so we can make that the default. A couple of lists disable wraparound with LIST_WRAP_OFF; this is now achieved by setting the list "wraparound" flag to false when setting up the list. LIST_WRAP_ON was unused and is of questionable value, so it has been removed entirely. This makes list wraparound behavior a property of the list, controlled solely by the "wraparound" flag. The result is a simpler list API and implementation, without changing the behavior of any lists. Change-Id: Ib55d17519e6d92fc95ae17b84ab0aaf4233bcb5a
Diffstat (limited to 'apps/gui/option_select.c')
-rw-r--r--apps/gui/option_select.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c
index 3f110ce526..e154467428 100644
--- a/apps/gui/option_select.c
+++ b/apps/gui/option_select.c
@@ -511,9 +511,13 @@ bool option_screen(const struct settings_list *setting,
gui_synclist_speak_item(&lists);
while (!done)
{
+ /* override user wraparound setting; used mainly by EQ settings.
+ * Not sure this is justified? */
+ if (!allow_wrap)
+ lists.wraparound = false;
+
if (list_do_action(CONTEXT_LIST, HZ, /* HZ so the status bar redraws */
- &lists, &action,
- allow_wrap? LIST_WRAP_UNLESS_HELD: LIST_WRAP_OFF))
+ &lists, &action))
{
/* setting changed */
selected = gui_synclist_get_sel_pos(&lists);