diff options
-rw-r--r-- | apps/features.txt | 3 | ||||
-rw-r--r-- | apps/lang/english.lang | 51 | ||||
-rw-r--r-- | apps/main.c | 3 | ||||
-rw-r--r-- | apps/menus/settings_menu.c | 19 | ||||
-rw-r--r-- | apps/settings.c | 4 | ||||
-rw-r--r-- | apps/settings.h | 4 | ||||
-rw-r--r-- | apps/settings_list.c | 9 |
7 files changed, 87 insertions, 6 deletions
diff --git a/apps/features.txt b/apps/features.txt index b510136a33..af4b18648e 100644 --- a/apps/features.txt +++ b/apps/features.txt | |||
@@ -192,3 +192,6 @@ usbstack | |||
192 | wheel_acceleration | 192 | wheel_acceleration |
193 | #endif | 193 | #endif |
194 | 194 | ||
195 | #if defined(HAVE_TOUCHSCREEN) | ||
196 | touchscreen | ||
197 | #endif | ||
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 8971cfb0a9..b2f08222ce 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -12403,3 +12403,54 @@ | |||
12403 | speaker: "Enable Speaker" | 12403 | speaker: "Enable Speaker" |
12404 | </voice> | 12404 | </voice> |
12405 | </phrase> | 12405 | </phrase> |
12406 | <phrase> | ||
12407 | id: LANG_TOUCHSCREEN_MODE | ||
12408 | desc: in Settings -> General -> System menu | ||
12409 | user: core | ||
12410 | <source> | ||
12411 | *: none | ||
12412 | touchscreen: "Touchscreen Mode" | ||
12413 | </source> | ||
12414 | <dest> | ||
12415 | *: none | ||
12416 | touchscreen: "Touchscreen Mode" | ||
12417 | </dest> | ||
12418 | <voice> | ||
12419 | *: none | ||
12420 | touchscreen: "Touchscreen Mode" | ||
12421 | </voice> | ||
12422 | </phrase> | ||
12423 | <phrase> | ||
12424 | id: LANG_TOUCHSCREEN_GRID | ||
12425 | desc: in Settings -> General -> System menu | ||
12426 | user: core | ||
12427 | <source> | ||
12428 | *: none | ||
12429 | touchscreen: "3x3 Grid" | ||
12430 | </source> | ||
12431 | <dest> | ||
12432 | *: none | ||
12433 | touchscreen: "3x3 Grid" | ||
12434 | </dest> | ||
12435 | <voice> | ||
12436 | *: none | ||
12437 | touchscreen: "3 by 3 grid" | ||
12438 | </voice> | ||
12439 | </phrase> | ||
12440 | <phrase> | ||
12441 | id: LANG_TOUCHSCREEN_POINT | ||
12442 | desc: in Settings -> General -> System menu | ||
12443 | user: core | ||
12444 | <source> | ||
12445 | *: none | ||
12446 | touchscreen: "Absolute Point" | ||
12447 | </source> | ||
12448 | <dest> | ||
12449 | *: none | ||
12450 | touchscreen: "Absolute Point" | ||
12451 | </dest> | ||
12452 | <voice> | ||
12453 | *: none | ||
12454 | touchscreen: "Absolute Point" | ||
12455 | </voice> | ||
12456 | </phrase> \ No newline at end of file | ||
diff --git a/apps/main.c b/apps/main.c index 20cec9bbfa..54ff191a3a 100644 --- a/apps/main.c +++ b/apps/main.c | |||
@@ -136,9 +136,6 @@ static void app_main(void) | |||
136 | screens[i].update(); | 136 | screens[i].update(); |
137 | } | 137 | } |
138 | tree_gui_init(); | 138 | tree_gui_init(); |
139 | #ifdef HAVE_TOUCHSCREEN | ||
140 | touchscreen_set_mode(TOUCHSCREEN_BUTTON); | ||
141 | #endif | ||
142 | viewportmanager_set_statusbar(VP_SB_ALLSCREENS); | 139 | viewportmanager_set_statusbar(VP_SB_ALLSCREENS); |
143 | add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, | 140 | add_event(GUI_EVENT_STATUSBAR_TOGGLE, false, |
144 | viewportmanager_statusbar_changed); | 141 | viewportmanager_statusbar_changed); |
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 73d2463c36..56a0178000 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c | |||
@@ -265,6 +265,20 @@ MENUITEM_SETTING(buttonlight_brightness, &global_settings.buttonlight_brightness | |||
265 | MENUITEM_SETTING(touchpad_sensitivity, &global_settings.touchpad_sensitivity, NULL); | 265 | MENUITEM_SETTING(touchpad_sensitivity, &global_settings.touchpad_sensitivity, NULL); |
266 | #endif | 266 | #endif |
267 | 267 | ||
268 | #ifdef HAVE_TOUCHSCREEN | ||
269 | static int touch_mode_callback(int action,const struct menu_item_ex *this_item) | ||
270 | { | ||
271 | (void)this_item; | ||
272 | switch (action) | ||
273 | { | ||
274 | case ACTION_EXIT_MENUITEM: /* on exit */ | ||
275 | touchscreen_set_mode(global_settings.touch_mode); | ||
276 | break; | ||
277 | } | ||
278 | return action; | ||
279 | } | ||
280 | MENUITEM_SETTING(touch_mode, &global_settings.touch_mode, touch_mode_callback); | ||
281 | #endif | ||
268 | 282 | ||
269 | MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), | 283 | MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), |
270 | 0, Icon_System_menu, | 284 | 0, Icon_System_menu, |
@@ -284,7 +298,7 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), | |||
284 | &car_adapter_mode, | 298 | &car_adapter_mode, |
285 | #endif | 299 | #endif |
286 | #ifdef IPOD_ACCESSORY_PROTOCOL | 300 | #ifdef IPOD_ACCESSORY_PROTOCOL |
287 | &serial_bitrate, | 301 | &serial_bitrate, |
288 | #endif | 302 | #endif |
289 | #ifdef HAVE_ACCESSORY_SUPPLY | 303 | #ifdef HAVE_ACCESSORY_SUPPLY |
290 | &accessory_supply, | 304 | &accessory_supply, |
@@ -301,6 +315,9 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), | |||
301 | #ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING | 315 | #ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING |
302 | &touchpad_sensitivity, | 316 | &touchpad_sensitivity, |
303 | #endif | 317 | #endif |
318 | #ifdef HAVE_TOUCHSCREEN | ||
319 | &touch_mode, | ||
320 | #endif | ||
304 | ); | 321 | ); |
305 | 322 | ||
306 | /* SYSTEM MENU */ | 323 | /* SYSTEM MENU */ |
diff --git a/apps/settings.c b/apps/settings.c index 71c29f67c4..4db4f4405c 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -960,6 +960,10 @@ void settings_apply(bool read_disk) | |||
960 | usb_charging_enable(global_settings.usb_charging); | 960 | usb_charging_enable(global_settings.usb_charging); |
961 | #endif | 961 | #endif |
962 | 962 | ||
963 | #ifdef HAVE_TOUCHSCREEN | ||
964 | touchscreen_set_mode(global_settings.touch_mode); | ||
965 | #endif | ||
966 | |||
963 | /* This should stay last */ | 967 | /* This should stay last */ |
964 | #if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC | 968 | #if defined(HAVE_RECORDING) && CONFIG_CODEC == SWCODEC |
965 | enc_global_settings_apply(); | 969 | enc_global_settings_apply(); |
diff --git a/apps/settings.h b/apps/settings.h index c376a46dea..dfd3998d83 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -726,6 +726,10 @@ struct user_settings | |||
726 | bool speaker_enabled; | 726 | bool speaker_enabled; |
727 | #endif | 727 | #endif |
728 | 728 | ||
729 | #ifdef HAVE_TOUCHSCREEN | ||
730 | int touch_mode; | ||
731 | #endif | ||
732 | |||
729 | /* If values are just added to the end, no need to bump plugin API | 733 | /* If values are just added to the end, no need to bump plugin API |
730 | version. */ | 734 | version. */ |
731 | /* new stuff to be added at the end */ | 735 | /* new stuff to be added at the end */ |
diff --git a/apps/settings_list.c b/apps/settings_list.c index 2d9be0873c..6255580991 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -602,8 +602,8 @@ const struct settings_list settings[] = { | |||
602 | #ifdef IPOD_ACCESSORY_PROTOCOL | 602 | #ifdef IPOD_ACCESSORY_PROTOCOL |
603 | CHOICE_SETTING(0, serial_bitrate, LANG_SERIAL_BITRATE, 0, "serial bitrate", | 603 | CHOICE_SETTING(0, serial_bitrate, LANG_SERIAL_BITRATE, 0, "serial bitrate", |
604 | "auto,9600,19200,38400,57600", iap_bitrate_set, 5, ID2P(LANG_SERIAL_BITRATE_AUTO), | 604 | "auto,9600,19200,38400,57600", iap_bitrate_set, 5, ID2P(LANG_SERIAL_BITRATE_AUTO), |
605 | ID2P(LANG_SERIAL_BITRATE_9600),ID2P(LANG_SERIAL_BITRATE_19200), | 605 | ID2P(LANG_SERIAL_BITRATE_9600),ID2P(LANG_SERIAL_BITRATE_19200), |
606 | ID2P(LANG_SERIAL_BITRATE_38400),ID2P(LANG_SERIAL_BITRATE_57600)), | 606 | ID2P(LANG_SERIAL_BITRATE_38400),ID2P(LANG_SERIAL_BITRATE_57600)), |
607 | #endif | 607 | #endif |
608 | #ifdef HAVE_ACCESSORY_SUPPLY | 608 | #ifdef HAVE_ACCESSORY_SUPPLY |
609 | OFFON_SETTING(0, accessory_supply, LANG_ACCESSORY_SUPPLY, | 609 | OFFON_SETTING(0, accessory_supply, LANG_ACCESSORY_SUPPLY, |
@@ -1462,6 +1462,11 @@ const struct settings_list settings[] = { | |||
1462 | OFFON_SETTING(0, speaker_enabled, LANG_ENABLE_SPEAKER, false, "speaker", | 1462 | OFFON_SETTING(0, speaker_enabled, LANG_ENABLE_SPEAKER, false, "speaker", |
1463 | audiohw_enable_speaker), | 1463 | audiohw_enable_speaker), |
1464 | #endif | 1464 | #endif |
1465 | #ifdef HAVE_TOUCHSCREEN | ||
1466 | CHOICE_SETTING(0, touch_mode, LANG_TOUCHSCREEN_MODE, TOUCHSCREEN_BUTTON, | ||
1467 | "touchscreen mode", "point,grid", NULL, 2, | ||
1468 | ID2P(LANG_TOUCHSCREEN_POINT), ID2P(LANG_TOUCHSCREEN_GRID)), | ||
1469 | #endif | ||
1465 | }; | 1470 | }; |
1466 | 1471 | ||
1467 | const int nb_settings = sizeof(settings)/sizeof(*settings); | 1472 | const int nb_settings = sizeof(settings)/sizeof(*settings); |