Skip to content

Commit 6392904

Browse files
committed
Add "Click audio button hotkey" hotkey
Rename "Play audio" hotkey to "Play audio for the first reading" Add "Click mining button hotkey" hotkey Rename "Select the next/previous lookup result" hotkeys to "Select next/previous item". If the reading selection window for audio is open, they can be used to select the next/previous reading, if the spelling selection window for mining is open, they can be used to select the next/previous spelling, if neither of those windows are open, but a popup is open in mining mode, they can be used tol select the next/previous lookup result Rename "Mine selected lookup result" hotkey to "Confirm selected item". It interacts with the selected item based on the active window. If the reading selection window for audio is open, it plays the selected reading. If the spelling selection window for mining is open, it mines the selected spelling. If neither of those windows are open, but a popup is open in mining mode, it mines the selected entry using its primary spelling. Make "Add name", "Add word", "Search", "Play audio for the first reading" hotkeys use the selected lookup result and if there's no selected lookup result, fallback to the first lookup result
1 parent 37683ef commit 6392904

10 files changed

+481
-321
lines changed

JL.Windows/ConfigManager.cs

+29-19
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ internal sealed class ConfigManager
141141

142142
public KeyGesture DisableHotkeysKeyGesture { get; private set; } = new(Key.Pause, ModifierKeys.Alt);
143143
public KeyGesture MiningModeKeyGesture { get; private set; } = new(Key.M, ModifierKeys.Alt);
144-
public KeyGesture PlayAudioKeyGesture { get; private set; } = new(Key.P, ModifierKeys.Alt);
144+
public KeyGesture PlayAudioKeyGesture { get; private set; } = new(Key.NumPad1, ModifierKeys.Alt);
145+
public KeyGesture ClickAudioButtonKeyGesture { get; private set; } = new(Key.P, ModifierKeys.Alt);
145146
public KeyGesture ShowManageDictionariesWindowKeyGesture { get; private set; } = new(Key.D, ModifierKeys.Alt);
146147
public KeyGesture ShowManageFrequenciesWindowKeyGesture { get; private set; } = new(Key.F, ModifierKeys.Alt);
147148
public KeyGesture ShowPreferencesWindowKeyGesture { get; private set; } = new(Key.L, ModifierKeys.Alt);
@@ -174,9 +175,10 @@ internal sealed class ConfigManager
174175
public KeyGesture LookupTermAtCaretIndexKeyGesture { get; private set; } = new(Key.NumPad5, ModifierKeys.Alt);
175176
public KeyGesture LookupFirstTermKeyGesture { get; private set; } = new(Key.D, ModifierKeys.Alt);
176177
public KeyGesture LookupSelectedTextKeyGesture { get; private set; } = new(Key.F, ModifierKeys.Alt);
177-
public KeyGesture SelectNextLookupResultKeyGesture { get; private set; } = new(Key.Down, ModifierKeys.Alt);
178-
public KeyGesture SelectPreviousLookupResultKeyGesture { get; private set; } = new(Key.Up, ModifierKeys.Alt);
179-
public KeyGesture MineSelectedLookupResultKeyGesture { get; private set; } = new(Key.D5, ModifierKeys.Alt);
178+
public KeyGesture SelectNextItemKeyGesture { get; private set; } = new(Key.Down, ModifierKeys.Alt);
179+
public KeyGesture SelectPreviousItemKeyGesture { get; private set; } = new(Key.Up, ModifierKeys.Alt);
180+
public KeyGesture ConfirmItemSelectionKeyGesture { get; private set; } = new(Key.D5, ModifierKeys.Alt);
181+
public KeyGesture ClickMiningButtonKeyGesture { get; private set; } = new(Key.D3, ModifierKeys.Alt);
180182
#endregion
181183

182184
#region Advanced
@@ -531,6 +533,7 @@ public void ApplyPreferences(SqliteConnection connection)
531533
DisableHotkeysKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(DisableHotkeysKeyGesture), DisableHotkeysKeyGesture);
532534
MiningModeKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(MiningModeKeyGesture), MiningModeKeyGesture);
533535
PlayAudioKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(PlayAudioKeyGesture), PlayAudioKeyGesture);
536+
ClickAudioButtonKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ClickAudioButtonKeyGesture), ClickAudioButtonKeyGesture);
534537
LookupKeyKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(LookupKeyKeyGesture), LookupKeyKeyGesture);
535538
ClosePopupKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ClosePopupKeyGesture), ClosePopupKeyGesture);
536539
ShowStatsKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ShowStatsKeyGesture), ShowStatsKeyGesture);
@@ -546,9 +549,10 @@ public void ApplyPreferences(SqliteConnection connection)
546549
LookupTermAtCaretIndexKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(LookupTermAtCaretIndexKeyGesture), LookupTermAtCaretIndexKeyGesture);
547550
LookupFirstTermKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(LookupFirstTermKeyGesture), LookupFirstTermKeyGesture);
548551
LookupSelectedTextKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(LookupSelectedTextKeyGesture), LookupSelectedTextKeyGesture);
549-
SelectNextLookupResultKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(SelectNextLookupResultKeyGesture), SelectNextLookupResultKeyGesture);
550-
SelectPreviousLookupResultKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(SelectPreviousLookupResultKeyGesture), SelectPreviousLookupResultKeyGesture);
551-
MineSelectedLookupResultKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(MineSelectedLookupResultKeyGesture), MineSelectedLookupResultKeyGesture);
552+
SelectNextItemKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(SelectNextItemKeyGesture), SelectNextItemKeyGesture);
553+
SelectPreviousItemKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(SelectPreviousItemKeyGesture), SelectPreviousItemKeyGesture);
554+
ConfirmItemSelectionKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ConfirmItemSelectionKeyGesture), ConfirmItemSelectionKeyGesture);
555+
ClickMiningButtonKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ClickMiningButtonKeyGesture), ClickMiningButtonKeyGesture);
552556
CaptureTextFromClipboardKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(CaptureTextFromClipboardKeyGesture), CaptureTextFromClipboardKeyGesture);
553557
CaptureTextFromWebSocketKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(CaptureTextFromWebSocketKeyGesture), CaptureTextFromWebSocketKeyGesture);
554558
ReconnectToWebSocketServerKeyGesture = KeyGestureUtils.GetKeyGestureFromConfig(connection, nameof(ReconnectToWebSocketServerKeyGesture), ReconnectToWebSocketServerKeyGesture);
@@ -763,6 +767,7 @@ public void LoadPreferenceWindow(PreferencesWindow preferenceWindow)
763767
preferenceWindow.DisableHotkeysKeyGestureTextBox.Text = DisableHotkeysKeyGesture.ToFormattedString();
764768
preferenceWindow.MiningModeKeyGestureTextBox.Text = MiningModeKeyGesture.ToFormattedString();
765769
preferenceWindow.PlayAudioKeyGestureTextBox.Text = PlayAudioKeyGesture.ToFormattedString();
770+
preferenceWindow.ClickAudioButtonKeyGestureTextBox.Text = ClickAudioButtonKeyGesture.ToFormattedString();
766771
preferenceWindow.LookupKeyKeyGestureTextBox.Text = LookupKeyKeyGesture.ToFormattedString();
767772

768773
preferenceWindow.ShowManageDictionariesWindowKeyGestureTextBox.Text =
@@ -817,12 +822,14 @@ public void LoadPreferenceWindow(PreferencesWindow preferenceWindow)
817822
LookupFirstTermKeyGesture.ToFormattedString();
818823
preferenceWindow.LookupSelectedTextKeyGestureTextBox.Text =
819824
LookupSelectedTextKeyGesture.ToFormattedString();
820-
preferenceWindow.SelectNextLookupResultKeyGestureTextBox.Text =
821-
SelectNextLookupResultKeyGesture.ToFormattedString();
822-
preferenceWindow.SelectPreviousLookupResultKeyGestureTextBox.Text =
823-
SelectPreviousLookupResultKeyGesture.ToFormattedString();
824-
preferenceWindow.MineSelectedLookupResultKeyGestureTextBox.Text =
825-
MineSelectedLookupResultKeyGesture.ToFormattedString();
825+
preferenceWindow.SelectNextItemKeyGestureTextBox.Text =
826+
SelectNextItemKeyGesture.ToFormattedString();
827+
preferenceWindow.SelectPreviousItemKeyGestureTextBox.Text =
828+
SelectPreviousItemKeyGesture.ToFormattedString();
829+
preferenceWindow.ConfirmItemSelectionKeyGestureTextBox.Text =
830+
ConfirmItemSelectionKeyGesture.ToFormattedString();
831+
preferenceWindow.ClickMiningButtonKeyGestureTextBox.Text =
832+
ClickMiningButtonKeyGesture.ToFormattedString();
826833
preferenceWindow.CaptureTextFromClipboardKeyGestureTextBox.Text =
827834
CaptureTextFromClipboardKeyGesture.ToFormattedString();
828835
preferenceWindow.CaptureTextFromWebSocketKeyGestureTextBox.Text =
@@ -1017,6 +1024,7 @@ public async Task SavePreferences(PreferencesWindow preferenceWindow)
10171024
KeyGestureUtils.UpdateKeyGesture(connection, nameof(DisableHotkeysKeyGesture), preferenceWindow.DisableHotkeysKeyGestureTextBox.Text);
10181025
KeyGestureUtils.UpdateKeyGesture(connection, nameof(MiningModeKeyGesture), preferenceWindow.MiningModeKeyGestureTextBox.Text);
10191026
KeyGestureUtils.UpdateKeyGesture(connection, nameof(PlayAudioKeyGesture), preferenceWindow.PlayAudioKeyGestureTextBox.Text);
1027+
KeyGestureUtils.UpdateKeyGesture(connection, nameof(ClickAudioButtonKeyGesture), preferenceWindow.ClickAudioButtonKeyGestureTextBox.Text);
10201028
KeyGestureUtils.UpdateKeyGesture(connection, nameof(LookupKeyKeyGesture), preferenceWindow.LookupKeyKeyGestureTextBox.Text);
10211029

10221030
KeyGestureUtils.UpdateKeyGesture(connection, nameof(ShowManageDictionariesWindowKeyGesture),
@@ -1071,12 +1079,14 @@ public async Task SavePreferences(PreferencesWindow preferenceWindow)
10711079
preferenceWindow.LookupFirstTermKeyGestureTextBox.Text);
10721080
KeyGestureUtils.UpdateKeyGesture(connection, nameof(LookupSelectedTextKeyGesture),
10731081
preferenceWindow.LookupSelectedTextKeyGestureTextBox.Text);
1074-
KeyGestureUtils.UpdateKeyGesture(connection, nameof(SelectNextLookupResultKeyGesture),
1075-
preferenceWindow.SelectNextLookupResultKeyGestureTextBox.Text);
1076-
KeyGestureUtils.UpdateKeyGesture(connection, nameof(SelectPreviousLookupResultKeyGesture),
1077-
preferenceWindow.SelectPreviousLookupResultKeyGestureTextBox.Text);
1078-
KeyGestureUtils.UpdateKeyGesture(connection, nameof(MineSelectedLookupResultKeyGesture),
1079-
preferenceWindow.MineSelectedLookupResultKeyGestureTextBox.Text);
1082+
KeyGestureUtils.UpdateKeyGesture(connection, nameof(SelectNextItemKeyGesture),
1083+
preferenceWindow.SelectNextItemKeyGestureTextBox.Text);
1084+
KeyGestureUtils.UpdateKeyGesture(connection, nameof(SelectPreviousItemKeyGesture),
1085+
preferenceWindow.SelectPreviousItemKeyGestureTextBox.Text);
1086+
KeyGestureUtils.UpdateKeyGesture(connection, nameof(ConfirmItemSelectionKeyGesture),
1087+
preferenceWindow.ConfirmItemSelectionKeyGestureTextBox.Text);
1088+
KeyGestureUtils.UpdateKeyGesture(connection, nameof(ClickMiningButtonKeyGesture),
1089+
preferenceWindow.ClickMiningButtonKeyGestureTextBox.Text);
10801090
KeyGestureUtils.UpdateKeyGesture(connection, nameof(CaptureTextFromClipboardKeyGesture),
10811091
preferenceWindow.CaptureTextFromClipboardKeyGestureTextBox.Text);
10821092
KeyGestureUtils.UpdateKeyGesture(connection, nameof(CaptureTextFromWebSocketKeyGesture),

0 commit comments

Comments
 (0)