add:快捷键面板
This commit is contained in:
@@ -77,12 +77,21 @@ namespace Ink_Canvas.Windows
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static HotkeyItem _activeCaptureItem;
|
||||||
|
|
||||||
private void StartHotkeyCapture()
|
private void StartHotkeyCapture()
|
||||||
{
|
{
|
||||||
|
if (_activeCaptureItem != null && _activeCaptureItem != this)
|
||||||
|
{
|
||||||
|
_activeCaptureItem.StopHotkeyCapture();
|
||||||
|
}
|
||||||
|
_activeCaptureItem = this;
|
||||||
|
|
||||||
CurrentHotkeyTextBlock.Text = "请按键...";
|
CurrentHotkeyTextBlock.Text = "请按键...";
|
||||||
Focus();
|
Focus();
|
||||||
KeyDown += HotkeyItem_KeyDown;
|
KeyDown += HotkeyItem_KeyDown;
|
||||||
KeyUp += HotkeyItem_KeyUp;
|
KeyUp += HotkeyItem_KeyUp;
|
||||||
|
LostFocus += HotkeyItem_LostFocus;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void StopHotkeyCapture()
|
private void StopHotkeyCapture()
|
||||||
@@ -90,6 +99,16 @@ namespace Ink_Canvas.Windows
|
|||||||
UpdateHotkeyDisplay();
|
UpdateHotkeyDisplay();
|
||||||
KeyDown -= HotkeyItem_KeyDown;
|
KeyDown -= HotkeyItem_KeyDown;
|
||||||
KeyUp -= HotkeyItem_KeyUp;
|
KeyUp -= HotkeyItem_KeyUp;
|
||||||
|
LostFocus -= HotkeyItem_LostFocus;
|
||||||
|
if (_activeCaptureItem == this)
|
||||||
|
{
|
||||||
|
_activeCaptureItem = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HotkeyItem_LostFocus(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
StopHotkeyCapture();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HotkeyItem_KeyDown(object sender, KeyEventArgs e)
|
private void HotkeyItem_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
|||||||
@@ -90,6 +90,11 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
foreach (var hotkeyItem in _hotkeyItems.Values)
|
||||||
|
{
|
||||||
|
hotkeyItem.SetCurrentHotkey(Key.None, ModifierKeys.None);
|
||||||
|
}
|
||||||
|
|
||||||
if (_hotkeyManager != null)
|
if (_hotkeyManager != null)
|
||||||
{
|
{
|
||||||
var configHotkeys = _hotkeyManager.GetHotkeysFromConfigFile();
|
var configHotkeys = _hotkeyManager.GetHotkeysFromConfigFile();
|
||||||
|
|||||||
Reference in New Issue
Block a user