improve:快捷键

This commit is contained in:
2025-09-06 14:36:07 +08:00
parent 375aec6f6c
commit d0793c546d
6 changed files with 323 additions and 4 deletions
@@ -49,6 +49,20 @@
Margin="0,0,0,20"
Foreground="#666666"/>
<!-- 鼠标模式快捷键设置 -->
<GroupBox Header="鼠标模式设置" Margin="0,0,0,20">
<ui:SimpleStackPanel>
<ui:ToggleSwitch x:Name="EnableHotkeysInMouseModeToggle"
Header="在鼠标模式下启用快捷键"
Margin="0,0,0,10"/>
<TextBlock Text="开启后,即使在鼠标模式(选择模式)下,快捷键仍然有效。关闭后,鼠标模式下将禁用快捷键以放行键盘操作。"
TextWrapping="Wrap"
Margin="0,0,0,10"
Foreground="#666666"
FontSize="12"/>
</ui:SimpleStackPanel>
</GroupBox>
<!-- 快捷键列表 -->
<ui:SimpleStackPanel x:Name="HotkeyList" Margin="0,0,0,20">
<!-- 基本操作 -->
@@ -153,6 +153,9 @@ namespace Ink_Canvas.Windows
LogHelper.WriteLogToFile($"设置默认显示值: {hotkeyItem.HotkeyName}");
}
}
// 加载鼠标模式快捷键设置
LoadMouseModeHotkeySetting();
}
catch (Exception ex)
{
@@ -239,6 +242,9 @@ namespace Ink_Canvas.Windows
{
hotkeyItem.HotkeyChanged += OnHotkeyChanged;
}
// 为鼠标模式快捷键开关设置事件处理器
EnableHotkeysInMouseModeToggle.Toggled += EnableHotkeysInMouseModeToggle_Toggled;
}
private void OnHotkeyChanged(object sender, HotkeyChangedEventArgs e)
@@ -555,6 +561,44 @@ namespace Ink_Canvas.Windows
MessageBox.Show($"保存快捷键设置时出错: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
/// <summary>
/// 鼠标模式快捷键开关切换事件
/// </summary>
private void EnableHotkeysInMouseModeToggle_Toggled(object sender, RoutedEventArgs e)
{
try
{
var isEnabled = EnableHotkeysInMouseModeToggle.IsOn;
LogHelper.WriteLogToFile($"鼠标模式快捷键开关状态变更: {isEnabled}");
// 立即更新快捷键管理器的设置
_hotkeyManager.SetEnableHotkeysInMouseMode(isEnabled);
}
catch (Exception ex)
{
LogHelper.WriteLogToFile($"处理鼠标模式快捷键开关切换时出错: {ex.Message}", LogHelper.LogType.Error);
}
}
/// <summary>
/// 加载鼠标模式快捷键设置
/// </summary>
private void LoadMouseModeHotkeySetting()
{
try
{
var isEnabled = _hotkeyManager.GetEnableHotkeysInMouseMode();
EnableHotkeysInMouseModeToggle.IsOn = isEnabled;
LogHelper.WriteLogToFile($"从主设置配置文件加载鼠标模式快捷键设置: {isEnabled}");
}
catch (Exception ex)
{
LogHelper.WriteLogToFile($"加载鼠标模式快捷键设置时出错: {ex.Message}", LogHelper.LogType.Error);
// 默认关闭
EnableHotkeysInMouseModeToggle.IsOn = false;
}
}
#endregion
}