summaryrefslogtreecommitdiff
path: root/apps/menu.c
diff options
context:
space:
mode:
authorStéphane Doyon <s.doyon@videotron.ca>2007-10-09 03:48:56 +0000
committerStéphane Doyon <s.doyon@videotron.ca>2007-10-09 03:48:56 +0000
commit5acf09104644a7942cf264d80a99f6bf5ae20792 (patch)
treea9705adea534e53795112eecde1d5b08171c9ac1 /apps/menu.c
parent3fd073ed4d5e0bb819b30ee71546151f13aa2150 (diff)
downloadrockbox-5acf09104644a7942cf264d80a99f6bf5ae20792.tar.gz
rockbox-5acf09104644a7942cf264d80a99f6bf5ae20792.zip
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
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/apps/menu.c b/apps/menu.c
index e369f4d390..1dedc42a5c 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -237,12 +237,22 @@ static void talk_menu_item(const struct menu_item_ex *menu,
237 { 237 {
238 if (menu->submenus[sel]->flags&(MENU_DYNAMIC_DESC)) 238 if (menu->submenus[sel]->flags&(MENU_DYNAMIC_DESC))
239 { 239 {
240 char buffer[80]; 240 int (*list_speak_item)(int selected_item, void * data)
241 str = menu->submenus[sel]->menu_get_name_and_icon-> 241 = menu->submenus[sel]->menu_get_name_and_icon->
242 list_get_name(sel, menu->submenus[sel]-> 242 list_speak_item;
243 menu_get_name_and_icon-> 243 if(list_speak_item)
244 list_get_name_data, buffer); 244 list_speak_item(sel, menu->submenus[sel]->
245 id = P2ID(str); 245 menu_get_name_and_icon->
246 list_get_name_data);
247 else
248 {
249 char buffer[80];
250 str = menu->submenus[sel]->menu_get_name_and_icon->
251 list_get_name(sel, menu->submenus[sel]->
252 menu_get_name_and_icon->
253 list_get_name_data, buffer);
254 id = P2ID(str);
255 }
246 } 256 }
247 else 257 else
248 id = P2ID(menu->submenus[sel]->callback_and_desc->desc); 258 id = P2ID(menu->submenus[sel]->callback_and_desc->desc);