Skip to content

Commit b88e2e9

Browse files
committed
Do not register dialog jump hotkey when dialog jump is disabled
1 parent adb1adb commit b88e2e9

File tree

2 files changed

+30
-10
lines changed

2 files changed

+30
-10
lines changed

Flow.Launcher.Infrastructure/UserSettings/Settings.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,19 @@ public CustomBrowserViewModel CustomBrowser
531531
}
532532
};
533533

534-
public bool EnableDialogJump { get; set; } = true;
534+
private bool _enableDialogJump = true;
535+
public bool EnableDialogJump
536+
{
537+
get => _enableDialogJump;
538+
set
539+
{
540+
if (_enableDialogJump != value)
541+
{
542+
_enableDialogJump = value;
543+
OnPropertyChanged();
544+
}
545+
}
546+
}
535547

536548
public bool AutoDialogJump { get; set; } = false;
537549

Flow.Launcher/Helper/HotKeyMapper.cs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,11 @@ private static void InitializeRegisteredHotkeys()
139139
foreach (var hotkey in list)
140140
{
141141
_settings.RegisteredHotkeys.Add(hotkey);
142+
if (hotkey.RegisteredType == RegisteredHotkeyType.DialogJump && !_settings.EnableDialogJump)
143+
{
144+
// If dialog jump is disabled, do not register the hotkey
145+
continue;
146+
}
142147
SetHotkey(hotkey);
143148
}
144149

@@ -158,7 +163,10 @@ private static void Settings_PropertyChanged(object sender, PropertyChangedEvent
158163
ChangeRegisteredHotkey(RegisteredHotkeyType.Toggle, _settings.Hotkey);
159164
break;
160165
case nameof(_settings.DialogJumpHotkey):
161-
ChangeRegisteredHotkey(RegisteredHotkeyType.DialogJump, _settings.DialogJumpHotkey);
166+
ChangeRegisteredHotkey(RegisteredHotkeyType.DialogJump, _settings.DialogJumpHotkey, _settings.EnableDialogJump);
167+
break;
168+
case nameof(_settings.EnableDialogJump):
169+
ChangeRegisteredHotkey(RegisteredHotkeyType.DialogJump, _settings.DialogJumpHotkey, _settings.EnableDialogJump);
162170
break;
163171

164172
// Flow Launcher window hotkeys
@@ -592,22 +600,19 @@ kb.Gesture is KeyGesture keyGesture1 &&
592600

593601
#region Hotkey Changing
594602

595-
private static void ChangeRegisteredHotkey(RegisteredHotkeyType registeredType, string newHotkeyStr)
603+
private static void ChangeRegisteredHotkey(RegisteredHotkeyType registeredType, string newHotkeyStr, bool setHotkey = true)
596604
{
597605
var newHotkey = new HotkeyModel(newHotkeyStr);
598-
ChangeRegisteredHotkey(registeredType, newHotkey);
606+
ChangeRegisteredHotkey(registeredType, newHotkey, setHotkey);
599607
}
600608

601-
private static void ChangeRegisteredHotkey(RegisteredHotkeyType registeredType, HotkeyModel newHotkey)
609+
private static void ChangeRegisteredHotkey(RegisteredHotkeyType registeredType, HotkeyModel newHotkey, bool setHotkey = true)
602610
{
603611
// Find the old registered hotkey data item
604612
var registeredHotkeyData = _settings.RegisteredHotkeys.FirstOrDefault(h => h.RegisteredType == registeredType);
605613

606614
// If it is not found, return
607-
if (registeredHotkeyData == null)
608-
{
609-
return;
610-
}
615+
if (registeredHotkeyData == null) return;
611616

612617
// Remove the old hotkey
613618
RemoveHotkey(registeredHotkeyData);
@@ -616,7 +621,10 @@ private static void ChangeRegisteredHotkey(RegisteredHotkeyType registeredType,
616621
registeredHotkeyData.SetHotkey(newHotkey);
617622

618623
// Set the new hotkey
619-
SetHotkey(registeredHotkeyData);
624+
if (setHotkey)
625+
{
626+
SetHotkey(registeredHotkeyData);
627+
}
620628
}
621629

622630
#endregion

0 commit comments

Comments
 (0)