summaryrefslogtreecommitdiff
path: root/apps/gui/list.h
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/list.h
parentff378deb69951a53b866f3d3c6ee13022e520436 (diff)
downloadrockbox-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/list.h')
-rw-r--r--apps/gui/list.h13
1 files changed, 2 insertions, 11 deletions
diff --git a/apps/gui/list.h b/apps/gui/list.h
index 20410471a2..19f0ccbbff 100644
--- a/apps/gui/list.h
+++ b/apps/gui/list.h
@@ -30,12 +30,6 @@
30 30
31#define SCROLLBAR_WIDTH global_settings.scrollbar_width 31#define SCROLLBAR_WIDTH global_settings.scrollbar_width
32 32
33enum list_wrap {
34 LIST_WRAP_ON = 0,
35 LIST_WRAP_OFF,
36 LIST_WRAP_UNLESS_HELD,
37};
38
39enum synclist_cursor 33enum synclist_cursor
40{ 34{
41 SYNCLIST_CURSOR_NOSTYLE = 0, 35 SYNCLIST_CURSOR_NOSTYLE = 0,
@@ -238,9 +232,7 @@ extern bool gui_synclist_keyclick_callback(int action, void* data);
238 * returns true if the action was handled. 232 * returns true if the action was handled.
239 * NOTE: *action may be changed regardless of return value 233 * NOTE: *action may be changed regardless of return value
240 */ 234 */
241extern bool gui_synclist_do_button(struct gui_synclist * lists, 235extern bool gui_synclist_do_button(struct gui_synclist * lists, int *action);
242 int *action,
243 enum list_wrap);
244#if !defined(PLUGIN) 236#if !defined(PLUGIN)
245struct listitem_viewport_cfg { 237struct listitem_viewport_cfg {
246 struct wps_data *data; 238 struct wps_data *data;
@@ -283,8 +275,7 @@ extern int list_do_action_timeout(struct gui_synclist *lists, int timeout);
283 list_do_action_timeout) with the gui_synclist_do_button call, for 275 list_do_action_timeout) with the gui_synclist_do_button call, for
284 convenience. */ 276 convenience. */
285extern bool list_do_action(int context, int timeout, 277extern bool list_do_action(int context, int timeout,
286 struct gui_synclist *lists, int *action, 278 struct gui_synclist *lists, int *action);
287 enum list_wrap wrap);
288 279
289 280
290/** Simplelist implementation. 281/** Simplelist implementation.