Index: trunk/apps/gui/quickscreen.c =================================================================== --- trunk.orig/apps/gui/quickscreen.c +++ trunk/apps/gui/quickscreen.c @@ -36,6 +36,7 @@ #include "audio.h" #include "quickscreen.h" #include "talk.h" +#include "powermgmt.h" static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; static struct viewport vp_icons[NB_SCREENS]; @@ -273,6 +274,28 @@ static bool gui_quickscreen_do_button(st return true; } +bool gui_quickscreen_do_quickinfo(int button) +{ + if(!global_settings.talk_menu) + return false; + switch(button) { + case ACTION_STD_OK: { + struct tm *tm = get_time(); + talk_time(tm, false); + break; + } + case ACTION_STD_CONTEXT: + talk_id(LANG_BATTERY_TIME, false); + talk_value(battery_level(), UNIT_PERCENT, true); + break; + default: + return false; + }; + talk_id(VOICE_PAUSE, true); + talk_force_enqueue_next(); + return true; +} + bool gui_syncquickscreen_run(struct gui_quickscreen * qs, int button_enter) { int button, i; @@ -314,6 +337,8 @@ bool gui_syncquickscreen_run(struct gui_ } else if(button==button_enter) can_quit=true; + else if(gui_quickscreen_do_quickinfo(button)) + goto out; if((button == button_enter) && can_quit) break; @@ -325,6 +350,7 @@ bool gui_syncquickscreen_run(struct gui_ } /* Notify that we're exiting this screen */ cond_talk_ids_fq(VOICE_OK); + out: return changed; }