summaryrefslogtreecommitdiff
path: root/apps/gui/quickscreen.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/quickscreen.c')
-rw-r--r--apps/gui/quickscreen.c24
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
39static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; 40static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT];
40static struct viewport vp_icons[NB_SCREENS]; 41static 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 224static 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)