summaryrefslogtreecommitdiff
path: root/apps/gui/yesno.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/yesno.c')
-rw-r--r--apps/gui/yesno.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/apps/gui/yesno.c b/apps/gui/yesno.c
index 669f8ca09a..4098d630d0 100644
--- a/apps/gui/yesno.c
+++ b/apps/gui/yesno.c
@@ -164,6 +164,12 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message,
164 gui_yesno_draw(&(yn[i])); 164 gui_yesno_draw(&(yn[i]));
165 } 165 }
166 166
167#ifdef HAVE_TOUCHSCREEN
168 /* switch to point mode because that's more intuitive */
169 enum touchscreen_mode tsm = touchscreen_get_mode();
170 touchscreen_set_mode(TOUCHSCREEN_POINT);
171#endif
172
167 /* make sure to eat any extranous keypresses */ 173 /* make sure to eat any extranous keypresses */
168 action_wait_for_release(); 174 action_wait_for_release();
169 button_clear_queue(); 175 button_clear_queue();
@@ -211,12 +217,23 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message,
211 /* ignore some SYS events that can happen */ 217 /* ignore some SYS events that can happen */
212 continue; 218 continue;
213 default: 219 default:
214 if(default_event_handler(button) == SYS_USB_CONNECTED) 220 if(default_event_handler(button) == SYS_USB_CONNECTED) {
215 return(YESNO_USB); 221#ifdef HAVE_TOUCHSCREEN
222 /* restore old touchscreen mode */
223 touchscreen_set_mode(tsm);
224#endif
225 return YESNO_USB;
226 }
227
216 result = YESNO_NO; 228 result = YESNO_NO;
217 } 229 }
218 } 230 }
219 231
232#ifdef HAVE_TOUCHSCREEN
233 /* restore old touchscreen mode */
234 touchscreen_set_mode(tsm);
235#endif
236
220 FOR_NB_SCREENS(i) 237 FOR_NB_SCREENS(i)
221 result_displayed=gui_yesno_draw_result(&(yn[i]), result); 238 result_displayed=gui_yesno_draw_result(&(yn[i]), result);
222 239