diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-09-19 12:48:15 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-05 11:22:55 -0400 |
commit | d5a081cbd1b871baf4e5d2c276fbabbc30c7994b (patch) | |
tree | aac3c9377be8433ad15c4ca2a733d3a7c81aad97 /apps/gui/option_select.c | |
parent | ff378deb69951a53b866f3d3c6ee13022e520436 (diff) | |
download | rockbox-d5a081cbd1b871baf4e5d2c276fbabbc30c7994b.tar.gz rockbox-d5a081cbd1b871baf4e5d2c276fbabbc30c7994b.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.c | 8 |
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, | |||
511 | gui_synclist_speak_item(&lists); | 511 | gui_synclist_speak_item(&lists); |
512 | while (!done) | 512 | while (!done) |
513 | { | 513 | { |
514 | /* override user wraparound setting; used mainly by EQ settings. | ||
515 | * Not sure this is justified? */ | ||
516 | if (!allow_wrap) | ||
517 | lists.wraparound = false; | ||
518 | |||
514 | if (list_do_action(CONTEXT_LIST, HZ, /* HZ so the status bar redraws */ | 519 | if (list_do_action(CONTEXT_LIST, HZ, /* HZ so the status bar redraws */ |
515 | &lists, &action, | 520 | &lists, &action)) |
516 | allow_wrap? LIST_WRAP_UNLESS_HELD: LIST_WRAP_OFF)) | ||
517 | { | 521 | { |
518 | /* setting changed */ | 522 | /* setting changed */ |
519 | selected = gui_synclist_get_sel_pos(&lists); | 523 | selected = gui_synclist_get_sel_pos(&lists); |