diff options
Diffstat (limited to 'apps/gui/yesno.c')
-rw-r--r-- | apps/gui/yesno.c | 21 |
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 | ||