Add a voice callback to dynamic menus, along side the text_callback.
From FS#7563.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15042 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/menu.h b/apps/menu.h
index 0c1000a..d3f7099 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -90,6 +90,7 @@
int (*menu_callback)(int action,
const struct menu_item_ex *this_item);
char *(*list_get_name)(int selected_item, void * data, char *buffer);
+ int (*list_speak_item)(int selected_item, void * data);
void *list_get_name_data;
int icon_id;
} *menu_get_name_and_icon;
@@ -165,9 +166,9 @@
/* same as above, except the item name is dynamic */
#define MENUITEM_RETURNVALUE_DYNTEXT(name, val, cb, text_callback, \
- text_cb_data, icon) \
+ voice_callback, text_cb_data, icon) \
static const struct menu_get_name_and_icon name##_ \
- = {cb,text_callback,text_cb_data,icon}; \
+ = {cb,text_callback,voice_callback,text_cb_data,icon}; \
static const struct menu_item_ex name = \
{ MT_RETURN_VALUE|MENU_DYNAMIC_DESC, { .value = val}, \
{.menu_get_name_and_icon = & name##_}};
@@ -187,10 +188,11 @@
{ .function = & name##__}, {.callback_and_desc = & name##_}};
/* As above, except the text is dynamic */
-#define MENUITEM_FUNCTION_DYNTEXT(name, flags, func, param, \
- text_callback, text_cb_data, callback, icon) \
- static const struct menu_get_name_and_icon name##_ \
- = {callback,text_callback,text_cb_data,icon}; \
+#define MENUITEM_FUNCTION_DYNTEXT(name, flags, func, param, \
+ text_callback, voice_callback, \
+ text_cb_data, callback, icon) \
+ static const struct menu_get_name_and_icon name##_ \
+ = {callback,text_callback,voice_callback,text_cb_data,icon}; \
static const struct menu_func name##__ = {{(void*)func}, param}; \
static const struct menu_item_ex name = \
{ MT_FUNCTION_CALL|MENU_DYNAMIC_DESC|flags, \