diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2008-05-04 02:11:24 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2008-05-04 02:11:24 +0000 |
commit | dd4e3848b80a6452012b4b9f947688f9278412e9 (patch) | |
tree | f8efc14d95afbba71e0ea9db4dbeefb80c148626 /apps/gui/quickscreen.c | |
parent | 8cfdf955fd40a318df5d2f50aba764e83c847480 (diff) | |
download | rockbox-dd4e3848b80a6452012b4b9f947688f9278412e9.tar.gz rockbox-dd4e3848b80a6452012b4b9f947688f9278412e9.zip |
make the quickscreen talk
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17345 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/quickscreen.c')
-rw-r--r-- | apps/gui/quickscreen.c | 24 |
1 files changed, 23 insertions, 1 deletions
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 @@ | |||
35 | #include "viewport.h" | 35 | #include "viewport.h" |
36 | #include "audio.h" | 36 | #include "audio.h" |
37 | #include "quickscreen.h" | 37 | #include "quickscreen.h" |
38 | #include "talk.h" | ||
38 | 39 | ||
39 | static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; | 40 | static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; |
40 | static struct viewport vp_icons[NB_SCREENS]; | 41 | static struct viewport vp_icons[NB_SCREENS]; |
@@ -220,7 +221,15 @@ static void gui_quickscreen_draw(struct gui_quickscreen *qs, | |||
220 | display->set_viewport(NULL); | 221 | display->set_viewport(NULL); |
221 | } | 222 | } |
222 | 223 | ||
223 | 224 | static int option_value(const struct settings_list *setting) | |
225 | { | ||
226 | if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) | ||
227 | { | ||
228 | return *(bool*)setting->setting==true?1:0; | ||
229 | } | ||
230 | else | ||
231 | return *(int*)setting->setting; | ||
232 | } | ||
224 | /* | 233 | /* |
225 | * Does the actions associated to the given button if any | 234 | * Does the actions associated to the given button if any |
226 | * - qs : the quickscreen | 235 | * - qs : the quickscreen |
@@ -249,6 +258,8 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button) | |||
249 | return false; | 258 | return false; |
250 | } | 259 | } |
251 | option_select_next_val((struct settings_list *)qs->items[item], false, true); | 260 | option_select_next_val((struct settings_list *)qs->items[item], false, true); |
261 | option_talk_value((struct settings_list *)qs->items[item], | ||
262 | option_value((struct settings_list *)qs->items[item]), false); | ||
252 | return true; | 263 | return true; |
253 | } | 264 | } |
254 | 265 | ||
@@ -271,6 +282,17 @@ bool gui_syncquickscreen_run(struct gui_quickscreen * qs, int button_enter) | |||
271 | quickscreen_fix_viewports(qs, &screens[i], &vp[i]); | 282 | quickscreen_fix_viewports(qs, &screens[i], &vp[i]); |
272 | gui_quickscreen_draw(qs, &screens[i], &vp[i]); | 283 | gui_quickscreen_draw(qs, &screens[i], &vp[i]); |
273 | } | 284 | } |
285 | talk_id(qs->items[QUICKSCREEN_LEFT]->lang_id, false); | ||
286 | option_talk_value(qs->items[QUICKSCREEN_LEFT], | ||
287 | option_value(qs->items[QUICKSCREEN_LEFT]), true); | ||
288 | |||
289 | talk_id(qs->items[QUICKSCREEN_RIGHT]->lang_id, true); | ||
290 | option_talk_value(qs->items[QUICKSCREEN_RIGHT], | ||
291 | option_value(qs->items[QUICKSCREEN_RIGHT]), true); | ||
292 | |||
293 | talk_id(qs->items[QUICKSCREEN_BOTTOM]->lang_id, true); | ||
294 | option_talk_value(qs->items[QUICKSCREEN_BOTTOM], | ||
295 | option_value(qs->items[QUICKSCREEN_BOTTOM]), true); | ||
274 | while (true) { | 296 | while (true) { |
275 | button = get_action(CONTEXT_QUICKSCREEN,HZ/5); | 297 | button = get_action(CONTEXT_QUICKSCREEN,HZ/5); |
276 | if(default_event_handler(button) == SYS_USB_CONNECTED) | 298 | if(default_event_handler(button) == SYS_USB_CONNECTED) |