summaryrefslogtreecommitdiff
path: root/apps/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menu.h')
-rw-r--r--apps/menu.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/menu.h b/apps/menu.h
index 7ace51329f..e56a4a149b 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -27,6 +27,7 @@
27#include "icons.h" 27#include "icons.h"
28#include "root_menu.h" /* needed for MENU_* return codes */ 28#include "root_menu.h" /* needed for MENU_* return codes */
29#include "settings_list.h" 29#include "settings_list.h"
30#include "gui/list.h"
30 31
31 32
32enum menu_item_type { 33enum menu_item_type {
@@ -79,18 +80,21 @@ struct menu_item_ex {
79 }; 80 };
80 union { 81 union {
81 /* For settings */ 82 /* For settings */
82 int (*menu_callback)(int action, const struct menu_item_ex *this_item); 83 int (*menu_callback)(int action, const struct menu_item_ex *this_item,
84 struct gui_synclist *this_list);
83 /* For everything else, except if the text is dynamic */ 85 /* For everything else, except if the text is dynamic */
84 const struct menu_callback_with_desc { 86 const struct menu_callback_with_desc {
85 int (*menu_callback)(int action, 87 int (*menu_callback)(int action,
86 const struct menu_item_ex *this_item); 88 const struct menu_item_ex *this_item,
89 struct gui_synclist *this_list);
87 unsigned char *desc; /* string or ID */ 90 unsigned char *desc; /* string or ID */
88 int icon_id; /* from icons_6x8 in icons.h */ 91 int icon_id; /* from icons_6x8 in icons.h */
89 } *callback_and_desc; 92 } *callback_and_desc;
90 /* For when the item text is dynamic */ 93 /* For when the item text is dynamic */
91 const struct menu_get_name_and_icon { 94 const struct menu_get_name_and_icon {
92 int (*menu_callback)(int action, 95 int (*menu_callback)(int action,
93 const struct menu_item_ex *this_item); 96 const struct menu_item_ex *this_item,
97 struct gui_synclist *this_list);
94 char *(*list_get_name)(int selected_item, void * data, 98 char *(*list_get_name)(int selected_item, void * data,
95 char *buffer, size_t buffer_len); 99 char *buffer, size_t buffer_len);
96 int (*list_speak_item)(int selected_item, void * data); 100 int (*list_speak_item)(int selected_item, void * data);
@@ -101,7 +105,8 @@ struct menu_item_ex {
101}; 105};
102 106
103typedef int (*menu_callback_type)(int action, 107typedef int (*menu_callback_type)(int action,
104 const struct menu_item_ex *this_item); 108 const struct menu_item_ex *this_item,
109 struct gui_synclist *this_list);
105void do_setting_from_menu(const struct menu_item_ex *temp, 110void do_setting_from_menu(const struct menu_item_ex *temp,
106 struct viewport parent[NB_SCREENS]); 111 struct viewport parent[NB_SCREENS]);
107void do_setting_screen(const struct settings_list *setting, const char * title, 112void do_setting_screen(const struct settings_list *setting, const char * title,