summaryrefslogtreecommitdiff
path: root/apps/menus/settings_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus/settings_menu.c')
-rw-r--r--apps/menus/settings_menu.c83
1 files changed, 77 insertions, 6 deletions
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index f42550cc6a..5c99cb4cd4 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -49,12 +49,67 @@
49#include "dircache.h" 49#include "dircache.h"
50#endif 50#endif
51#include "folder_select.h" 51#include "folder_select.h"
52 52#ifndef HAS_BUTTON_HOLD
53#include "mask_select.h"
54#endif
53#if defined(DX50) || defined(DX90) 55#if defined(DX50) || defined(DX90)
54#include "governor-ibasso.h" 56#include "governor-ibasso.h"
55#include "usb-ibasso.h" 57#include "usb-ibasso.h"
56#endif 58#endif
57 59
60#ifndef HAS_BUTTON_HOLD
61static int selectivesoftlock_callback(int action,
62 const struct menu_item_ex *this_item)
63{
64 (void)this_item;
65
66 switch (action)
67 {
68 case ACTION_STD_MENU:
69 case ACTION_STD_CANCEL:
70 case ACTION_EXIT_MENUITEM:
71 set_selective_softlock_actions(
72 global_settings.bt_selective_softlock_actions,
73 global_settings.bt_selective_softlock_actions_mask);
74 break;
75 }
76
77 return action;
78}
79
80static int selectivesoftlock_set_mask(void* param)
81{
82 (void)param;
83int mask = global_settings.bt_selective_softlock_actions_mask;
84 struct s_mask_items maskitems[]={
85 {ID2P(LANG_VOLUME) , SEL_ACTION_VOL},
86 {ID2P(LANG_ACTION_PLAY), SEL_ACTION_PLAY},
87 {ID2P(LANG_ACTION_SEEK), SEL_ACTION_SEEK},
88 {ID2P(LANG_ACTION_SKIP), SEL_ACTION_SKIP},
89 #ifdef HAVE_BACKLIGHT
90 {ID2P(LANG_ACTION_AUTOLOCK_ON), SEL_ACTION_AUTOLOCK},
91 #endif
92 #if defined(HAVE_TOUCHPAD) || defined(HAVE_TOUCHSCREEN)
93 {ID2P(LANG_ACTION_DISABLE_TOUCH) , SEL_ACTION_NOTOUCH},
94 #endif
95 {ID2P(LANG_ACTION_DISABLE_NOTIFY), SEL_ACTION_NONOTIFY}
96 };
97
98 mask = mask_select(mask, ID2P(LANG_SOFTLOCK_SELECTIVE)
99 , maskitems,ARRAYLEN(maskitems));
100
101 if (mask == SEL_ACTION_NONE)
102 global_settings.bt_selective_softlock_actions = false;
103 else if (global_settings.bt_selective_softlock_actions_mask != mask)
104 global_settings.bt_selective_softlock_actions = true;
105
106 global_settings.bt_selective_softlock_actions_mask = mask;
107
108 return true;
109}
110
111#endif /* !HAS_BUTTON_HOLD */
112
58/***********************************/ 113/***********************************/
59/* TAGCACHE MENU */ 114/* TAGCACHE MENU */
60#ifdef HAVE_TAGCACHE 115#ifdef HAVE_TAGCACHE
@@ -137,7 +192,7 @@ static int clear_start_directory(void)
137 splash(HZ, ID2P(LANG_RESET_DONE_CLEAR)); 192 splash(HZ, ID2P(LANG_RESET_DONE_CLEAR));
138 return false; 193 return false;
139} 194}
140MENUITEM_FUNCTION(clear_start_directory_item, 0, ID2P(LANG_RESET_START_DIR), 195MENUITEM_FUNCTION(clear_start_directory_item, 0, ID2P(LANG_RESET_START_DIR),
141 clear_start_directory, NULL, NULL, Icon_file_view_menu); 196 clear_start_directory, NULL, NULL, Icon_file_view_menu);
142static int fileview_callback(int action,const struct menu_item_ex *this_item) 197static int fileview_callback(int action,const struct menu_item_ex *this_item)
143{ 198{
@@ -330,6 +385,19 @@ MENUITEM_SETTING(touchpad_deadzone, &global_settings.touchpad_deadzone, NULL);
330MENUITEM_SETTING(shortcuts_replaces_quickscreen, &global_settings.shortcuts_replaces_qs, NULL); 385MENUITEM_SETTING(shortcuts_replaces_quickscreen, &global_settings.shortcuts_replaces_qs, NULL);
331#endif 386#endif
332 387
388#ifndef HAS_BUTTON_HOLD
389
390MENUITEM_SETTING(bt_selective_actions,
391 &global_settings.bt_selective_softlock_actions,
392 selectivesoftlock_callback);
393MENUITEM_FUNCTION(sel_softlock_mask, 0, ID2P(LANG_SETTINGS),
394 selectivesoftlock_set_mask, NULL,
395 selectivesoftlock_callback, Icon_Menu_setting);
396
397MAKE_MENU(sel_softlock, ID2P(LANG_SOFTLOCK_SELECTIVE),
398 NULL, Icon_Menu_setting, &bt_selective_actions, &sel_softlock_mask);
399#endif /* !HAS_BUTTON_HOLD */
400
333#if defined(DX50) || defined(DX90) 401#if defined(DX50) || defined(DX90)
334MENUITEM_SETTING(governor, &global_settings.governor, NULL); 402MENUITEM_SETTING(governor, &global_settings.governor, NULL);
335MENUITEM_SETTING(usb_mode, &global_settings.usb_mode, NULL); 403MENUITEM_SETTING(usb_mode, &global_settings.usb_mode, NULL);
@@ -380,6 +448,9 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
380#ifdef HAVE_TOUCHPAD_DEADZONE 448#ifdef HAVE_TOUCHPAD_DEADZONE
381 &touchpad_deadzone, 449 &touchpad_deadzone,
382#endif 450#endif
451#ifndef HAS_BUTTON_HOLD
452 &sel_softlock,
453#endif
383#ifdef USB_ENABLE_HID 454#ifdef USB_ENABLE_HID
384 &usb_hid, 455 &usb_hid,
385 &usb_keypad_mode, 456 &usb_keypad_mode,
@@ -544,7 +615,7 @@ MAKE_MENU(bookmark_settings_menu, ID2P(LANG_BOOKMARK_SETTINGS), 0,
544/***********************************/ 615/***********************************/
545/* AUTORESUME MENU */ 616/* AUTORESUME MENU */
546#ifdef HAVE_TAGCACHE 617#ifdef HAVE_TAGCACHE
547#if CONFIG_CODEC == SWCODEC 618#if CONFIG_CODEC == SWCODEC
548 619
549static int autoresume_callback(int action, const struct menu_item_ex *this_item) 620static int autoresume_callback(int action, const struct menu_item_ex *this_item)
550{ 621{
@@ -557,7 +628,7 @@ static int autoresume_callback(int action, const struct menu_item_ex *this_item)
557 static const char *lines[] = {ID2P(LANG_TAGCACHE_BUSY), 628 static const char *lines[] = {ID2P(LANG_TAGCACHE_BUSY),
558 ID2P(LANG_TAGCACHE_FORCE_UPDATE)}; 629 ID2P(LANG_TAGCACHE_FORCE_UPDATE)};
559 static const struct text_message message = {lines, 2}; 630 static const struct text_message message = {lines, 2};
560 631
561 if (gui_syncyesno_run(&message, NULL, NULL) == YESNO_YES) 632 if (gui_syncyesno_run(&message, NULL, NULL) == YESNO_YES)
562 tagcache_rebuild_with_splash(); 633 tagcache_rebuild_with_splash();
563 } 634 }
@@ -672,9 +743,9 @@ MAKE_MENU(settings_menu_item, ID2P(LANG_GENERAL_SETTINGS), 0,
672 &startup_shutdown_menu, 743 &startup_shutdown_menu,
673 &bookmark_settings_menu, 744 &bookmark_settings_menu,
674#ifdef HAVE_TAGCACHE 745#ifdef HAVE_TAGCACHE
675#if CONFIG_CODEC == SWCODEC 746#if CONFIG_CODEC == SWCODEC
676 &autoresume_menu, 747 &autoresume_menu,
677#endif 748#endif
678#endif 749#endif
679 &browse_langs, &voice_settings_menu, 750 &browse_langs, &voice_settings_menu,
680#ifdef HAVE_HOTKEY 751#ifdef HAVE_HOTKEY