diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/action.c | 37 | ||||
-rw-r--r-- | apps/action.h | 2 | ||||
-rw-r--r-- | apps/lang/english.lang | 14 | ||||
-rw-r--r-- | apps/menus/settings_menu.c | 1 |
4 files changed, 38 insertions, 16 deletions
diff --git a/apps/action.c b/apps/action.c index f9602b967f..34897b938c 100644 --- a/apps/action.c +++ b/apps/action.c | |||
@@ -675,24 +675,31 @@ static inline int do_auto_softlock(action_last_t *last, action_cur_t *cur) | |||
675 | } | 675 | } |
676 | else if (action == ACTION_STD_KEYLOCK) | 676 | else if (action == ACTION_STD_KEYLOCK) |
677 | { | 677 | { |
678 | last->unlock_combo = cur->button;/* set unlock combo to allow unlock */ | 678 | if (!has_flag(last->softlock_mask, SEL_ACTION_ALWAYSAUTOLOCK)) // normal operation, clear/arm autolock |
679 | last->softlock_mask ^= SEL_ACTION_ALOCK_OK; | ||
680 | action_handle_backlight(true, false); | ||
681 | /* If we don't wait for a moment for the backlight queue | ||
682 | * to process, the user will never see the message */ | ||
683 | if (!is_backlight_on(false)) | ||
684 | { | 679 | { |
685 | sleep(HZ/2); | 680 | last->unlock_combo = cur->button;/* set unlock combo to allow unlock */ |
686 | } | 681 | last->softlock_mask ^= SEL_ACTION_ALOCK_OK; |
682 | action_handle_backlight(true, false); | ||
683 | /* If we don't wait for a moment for the backlight queue | ||
684 | * to process, the user will never see the message */ | ||
685 | if (!is_backlight_on(false)) | ||
686 | { | ||
687 | sleep(HZ/2); | ||
688 | } | ||
687 | 689 | ||
688 | if (has_flag(last->softlock_mask, SEL_ACTION_ALOCK_OK)) | 690 | if (has_flag(last->softlock_mask, SEL_ACTION_ALOCK_OK)) |
689 | { | 691 | { |
690 | splash(HZ/2, ID2P(LANG_ACTION_AUTOLOCK_ON)); | 692 | splash(HZ/2, ID2P(LANG_ACTION_AUTOLOCK_ON)); |
691 | action = ACTION_REDRAW; | 693 | action = ACTION_REDRAW; |
692 | } | 694 | } |
693 | else | 695 | else |
696 | { | ||
697 | splash(HZ/2, ID2P(LANG_ACTION_AUTOLOCK_OFF)); | ||
698 | } | ||
699 | } else if (!has_flag(last->softlock_mask, SEL_ACTION_ALOCK_OK)) // always autolock, but not currently armed | ||
694 | { | 700 | { |
695 | splash(HZ/2, ID2P(LANG_ACTION_AUTOLOCK_OFF)); | 701 | last->unlock_combo = cur->button;/* set unlock combo to allow unlock */ |
702 | last->softlock_mask ^= SEL_ACTION_ALOCK_OK; | ||
696 | } | 703 | } |
697 | } | 704 | } |
698 | 705 | ||
diff --git a/apps/action.h b/apps/action.h index da4565c28b..e4ad29504b 100644 --- a/apps/action.h +++ b/apps/action.h | |||
@@ -51,7 +51,7 @@ | |||
51 | #define SEL_ACTION_SKIP 0x008U | 51 | #define SEL_ACTION_SKIP 0x008U |
52 | #define SEL_ACTION_NOUNMAPPED 0x010U/* disable backlight on unmapped buttons */ | 52 | #define SEL_ACTION_NOUNMAPPED 0x010U/* disable backlight on unmapped buttons */ |
53 | #define SEL_ACTION_ALLNONOTIFY 0x020U/* disable switch for all softlock notifications */ | 53 | #define SEL_ACTION_ALLNONOTIFY 0x020U/* disable switch for all softlock notifications */ |
54 | /* Available 0x040U*/ | 54 | #define SEL_ACTION_ALWAYSAUTOLOCK 0x040U/* always prime autolock, requires autolock enabled */ |
55 | #define SEL_ACTION_NOTOUCH 0x080U/* disable touch screen/pad on screen lock */ | 55 | #define SEL_ACTION_NOTOUCH 0x080U/* disable touch screen/pad on screen lock */ |
56 | #define SEL_ACTION_AUTOLOCK 0x100U/* autolock on backlight off */ | 56 | #define SEL_ACTION_AUTOLOCK 0x100U/* autolock on backlight off */ |
57 | #define SEL_ACTION_NOEXT 0x200U/* disable selective backlight while charge*/ | 57 | #define SEL_ACTION_NOEXT 0x200U/* disable selective backlight while charge*/ |
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 327584c4f6..9ca4c84430 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -15767,3 +15767,17 @@ | |||
15767 | *: "Exempt Volume" | 15767 | *: "Exempt Volume" |
15768 | </voice> | 15768 | </voice> |
15769 | </phrase> | 15769 | </phrase> |
15770 | <phrase> | ||
15771 | id: LANG_ACTION_ALWAYSAUTOLOCK | ||
15772 | desc: always prime autolock | ||
15773 | user: core | ||
15774 | <source> | ||
15775 | *: "Always Autolock" | ||
15776 | </source> | ||
15777 | <dest> | ||
15778 | *: "Always Autolock" | ||
15779 | </dest> | ||
15780 | <voice> | ||
15781 | *: "Always Autolock" | ||
15782 | </voice> | ||
15783 | </phrase> | ||
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index a5daad01ce..0b7516f749 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c | |||
@@ -89,6 +89,7 @@ int mask = global_settings.bt_selective_softlock_actions_mask; | |||
89 | {ID2P(LANG_ACTION_SKIP), SEL_ACTION_SKIP}, | 89 | {ID2P(LANG_ACTION_SKIP), SEL_ACTION_SKIP}, |
90 | #ifdef HAVE_BACKLIGHT | 90 | #ifdef HAVE_BACKLIGHT |
91 | {ID2P(LANG_ACTION_AUTOLOCK_ON), SEL_ACTION_AUTOLOCK}, | 91 | {ID2P(LANG_ACTION_AUTOLOCK_ON), SEL_ACTION_AUTOLOCK}, |
92 | {ID2P(LANG_ACTION_ALWAYSAUTOLOCK), SEL_ACTION_ALWAYSAUTOLOCK}, | ||
92 | #endif | 93 | #endif |
93 | #if defined(HAVE_TOUCHPAD) || defined(HAVE_TOUCHSCREEN) | 94 | #if defined(HAVE_TOUCHPAD) || defined(HAVE_TOUCHSCREEN) |
94 | {ID2P(LANG_ACTION_DISABLE_TOUCH), SEL_ACTION_NOTOUCH}, | 95 | {ID2P(LANG_ACTION_DISABLE_TOUCH), SEL_ACTION_NOTOUCH}, |