From 39bccd65b92386654dfc71e426352ad9d9148fae Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Sun, 4 May 2008 08:11:28 +0000 Subject: recommit the talking quickscreen... silly rename bug which I mised this morning git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17348 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/quickscreen.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'apps/gui/quickscreen.c') diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c index c62ad24717..36f3d82217 100644 --- a/apps/gui/quickscreen.c +++ b/apps/gui/quickscreen.c @@ -35,6 +35,7 @@ #include "viewport.h" #include "audio.h" #include "quickscreen.h" +#include "talk.h" static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; static struct viewport vp_icons[NB_SCREENS]; @@ -220,7 +221,15 @@ static void gui_quickscreen_draw(struct gui_quickscreen *qs, display->set_viewport(NULL); } - +static int option_value(const struct settings_list *setting) +{ + if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) + { + return *(bool*)setting->setting==true?1:0; + } + else + return *(int*)setting->setting; +} /* * Does the actions associated to the given button if any * - qs : the quickscreen @@ -249,6 +258,8 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button) return false; } option_select_next_val((struct settings_list *)qs->items[item], false, true); + option_talk_value((struct settings_list *)qs->items[item], + option_value((struct settings_list *)qs->items[item]), false); return true; } @@ -271,6 +282,17 @@ bool gui_syncquickscreen_run(struct gui_quickscreen * qs, int button_enter) quickscreen_fix_viewports(qs, &screens[i], &vp[i]); gui_quickscreen_draw(qs, &screens[i], &vp[i]); } + talk_id(qs->items[QUICKSCREEN_LEFT]->lang_id, false); + option_talk_value(qs->items[QUICKSCREEN_LEFT], + option_value(qs->items[QUICKSCREEN_LEFT]), true); + + talk_id(qs->items[QUICKSCREEN_RIGHT]->lang_id, true); + option_talk_value(qs->items[QUICKSCREEN_RIGHT], + option_value(qs->items[QUICKSCREEN_RIGHT]), true); + + talk_id(qs->items[QUICKSCREEN_BOTTOM]->lang_id, true); + option_talk_value(qs->items[QUICKSCREEN_BOTTOM], + option_value(qs->items[QUICKSCREEN_BOTTOM]), true); while (true) { button = get_action(CONTEXT_QUICKSCREEN,HZ/5); if(default_event_handler(button) == SYS_USB_CONNECTED) -- cgit v1.2.3