summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Doyon <s.doyon@videotron.ca>2007-10-23 05:19:03 +0000
committerStéphane Doyon <s.doyon@videotron.ca>2007-10-23 05:19:03 +0000
commita82a860c7e30e33b6bb8d61ec2f80ef46855a4b6 (patch)
treee43c4fac98337666209b473026622d58093001d7
parent5a9a2b7bc4e1e2a97ec731524bb7e127f5c8cacf (diff)
downloadrockbox-a82a860c7e30e33b6bb8d61ec2f80ef46855a4b6.tar.gz
rockbox-a82a860c7e30e33b6bb8d61ec2f80ef46855a4b6.zip
Small voice-related tweaks and fixes to simplelists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15276 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/list.c9
-rw-r--r--apps/menus/main_menu.c3
2 files changed, 7 insertions, 5 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c
index feee1ec7a7..e7de12c4a0 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -1266,15 +1266,14 @@ bool simplelist_show_list(struct simplelist_info *info)
gui_synclist_select_item(&lists, info->start_selection);
- if (info->get_talk)
- info->get_talk(gui_synclist_get_sel_pos(&lists), info->callback_data);
gui_synclist_draw(&lists);
+ gui_synclist_speak_item(&lists);
while(1)
{
gui_syncstatusbar_draw(&statusbars, true);
- action = get_action(CONTEXT_STD, info->timeout);
- if (gui_synclist_do_button(&lists, &action, LIST_WRAP_UNLESS_HELD))
+ if (list_do_action(CONTEXT_STD, info->timeout,
+ &lists, &action, LIST_WRAP_UNLESS_HELD))
continue;
if (info->action_callback)
{
@@ -1289,12 +1288,14 @@ bool simplelist_show_list(struct simplelist_info *info)
if (info->get_name == NULL)
gui_synclist_set_nb_items(&lists, simplelist_line_count*info->selection_size);
gui_synclist_draw(&lists);
+ gui_synclist_speak_item(&lists);
old_line_count = simplelist_line_count;
}
else if(default_event_handler(action) == SYS_USB_CONNECTED)
return true;
}
+ talk_shutup();
return false;
}
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index 601ecc95b6..e94074217a 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -303,7 +303,8 @@ static bool show_info(void)
simplelist_info_init(&info, str(LANG_ROCKBOX_INFO), 6, (void*)&data);
info.hide_selection = !global_settings.talk_menu;
info.get_name = info_getname;
- info.get_talk = info_speak_item;
+ if(global_settings.talk_menu)
+ info.get_talk = info_speak_item;
info.action_callback = info_action_callback;
return simplelist_show_list(&info);
}