feat(设置): 新增墨迹纠正设置页面并重构设置界面

重构设置界面,将墨迹纠正相关功能从画板设置中分离出来,新增独立的墨迹纠正设置页面。主要变更包括:
- 新增 InkRecognitionPage 用于集中管理墨迹纠正功能
- 调整设置窗口导航结构,将墨迹纠正设为画板设置的子页面
- 优化设置项布局,使用折叠面板组织复杂选项
- 移除主窗口中冗余的崩溃处理和手势设置
- 修复多指手势时橡皮擦状态保存问题
- 新增笔尖模式相关字符串资源
This commit is contained in:
PrefacedCorg
2026-04-25 13:56:16 +08:00
parent 6e61538dec
commit b1640f44c2
17 changed files with 588 additions and 399 deletions
@@ -3550,7 +3550,7 @@ namespace Ink_Canvas
SyncPdfPageSidebarWithCanvas();
}
private int BoundsWidth = 5;
internal int BoundsWidth = 5;
private void BtnHideInkCanvas_Click(object sender, RoutedEventArgs e)
{
+2 -37
View File
@@ -166,17 +166,6 @@ namespace Ink_Canvas
#region Startup
/// <summary>
/// 处理笔尖模式开关状态更改事件
/// </summary>
/// <param name="sender">事件发送者</param>
/// <param name="e">路由事件参数</param>
/// <remarks>
/// 当笔尖模式开关状态更改时:
/// 1. 同步更新两个笔尖模式开关的状态
/// 2. 保存笔尖模式设置
/// 3. 根据笔尖模式设置更新边界宽度
/// </remarks>
private void ToggleSwitchEnableNibMode_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
@@ -2653,13 +2642,6 @@ namespace Ink_Canvas
SaveSettingsToFile();
}
private void ToggleSwitchAutoSwitchTwoFingerGesture_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Gesture.AutoSwitchTwoFingerGesture = ToggleSwitchAutoSwitchTwoFingerGesture.IsOn;
SaveSettingsToFile();
}
private void ToggleSwitchEnableTwoFingerZoom_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
@@ -2718,8 +2700,7 @@ namespace Ink_Canvas
palmEraserWasEnabledBeforeMultiTouch = Settings.Canvas.EnablePalmEraser;
Settings.Canvas.EnablePalmEraser = false;
if (ToggleSwitchEnablePalmEraser != null)
ToggleSwitchEnablePalmEraser.IsOn = false;
SaveSettingsToFile();
// 恢复到之前的编辑状态
inkCanvas.EditingMode = currentEditingMode;
@@ -2754,8 +2735,7 @@ namespace Ink_Canvas
if (palmEraserWasEnabledBeforeMultiTouch)
{
Settings.Canvas.EnablePalmEraser = true;
if (ToggleSwitchEnablePalmEraser != null)
ToggleSwitchEnablePalmEraser.IsOn = true;
SaveSettingsToFile();
}
// 恢复到之前的编辑状态
@@ -2840,7 +2820,6 @@ namespace Ink_Canvas
else
ToggleSwitchEnableTwoFingerRotation.IsOn = BoardToggleSwitchEnableTwoFingerRotation.IsOn;
Settings.Gesture.IsEnableTwoFingerRotation = ToggleSwitchEnableTwoFingerRotation.IsOn;
Settings.Gesture.IsEnableTwoFingerRotationOnSelection = ToggleSwitchEnableTwoFingerRotationOnSelection.IsOn;
CheckEnableTwoFingerGestureBtnColorPrompt();
SaveSettingsToFile();
}
@@ -4247,13 +4226,6 @@ namespace Ink_Canvas
SaveSettingsToFile();
}
private void ToggleSwitchEnablePalmEraser_Toggled(object sender, RoutedEventArgs e)
{
if (!isLoaded) return;
Settings.Canvas.EnablePalmEraser = ToggleSwitchEnablePalmEraser.IsOn;
SaveSettingsToFile();
}
#region
private void PPTButtonLBPositionValueSlider_ValueChanged(object sender, RoutedEventArgs e)
@@ -4357,13 +4329,6 @@ namespace Ink_Canvas
#endregion
private void ComboBoxPalmEraserSensitivity_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (!isLoaded) return;
Settings.Canvas.PalmEraserSensitivity = ComboBoxPalmEraserSensitivity.SelectedIndex;
SaveSettingsToFile();
}
#region
private void BtnUnregisterFileAssociation_Click(object sender, RoutedEventArgs e)
+4 -22
View File
@@ -231,25 +231,21 @@ namespace Ink_Canvas
else
{
Settings.Startup = new Startup();
Settings.Startup.IsEnableNibMode = false; // 默认关闭笔尖模式
ToggleSwitchEnableNibMode.IsOn = false; // 默认关闭笔尖模式
BoardToggleSwitchEnableNibMode.IsOn = false; // 默认关闭笔尖模式
BoundsWidth = Settings.Advanced.FingerModeBoundsWidth; // 使用手指模式边界宽度
Settings.Startup.IsEnableNibMode = false;
ToggleSwitchEnableNibMode.IsOn = false;
BoardToggleSwitchEnableNibMode.IsOn = false;
BoundsWidth = Settings.Advanced.FingerModeBoundsWidth;
}
// 恢复崩溃后操作设置
if (Settings.Startup != null)
{
// 恢复崩溃后操作选项
if (Settings.Startup.CrashAction == 0)
{
App.CrashAction = App.CrashActionType.SilentRestart;
if (RadioCrashSilentRestart != null) RadioCrashSilentRestart.IsChecked = true;
}
else
{
App.CrashAction = App.CrashActionType.NoAction;
if (RadioCrashNoAction != null) RadioCrashNoAction.IsChecked = true;
}
}
@@ -658,13 +654,6 @@ namespace Ink_Canvas
ToggleSwitchEnableTwoFingerRotation.IsOn = Settings.Gesture.IsEnableTwoFingerRotation;
BoardToggleSwitchEnableTwoFingerRotation.IsOn = Settings.Gesture.IsEnableTwoFingerRotation;
ToggleSwitchAutoSwitchTwoFingerGesture.IsOn = Settings.Gesture.AutoSwitchTwoFingerGesture;
ToggleSwitchEnableTwoFingerRotation.IsOn = Settings.Gesture.IsEnableTwoFingerRotation;
ToggleSwitchEnableTwoFingerRotationOnSelection.IsOn =
Settings.Gesture.IsEnableTwoFingerRotationOnSelection;
if (Settings.Gesture.AutoSwitchTwoFingerGesture)
{
if (Topmost)
@@ -855,13 +844,6 @@ namespace Ink_Canvas
Settings.Canvas = new Canvas();
}
// Palm Eraser
if (Settings.Canvas != null)
{
ToggleSwitchEnablePalmEraser.IsOn = Settings.Canvas.EnablePalmEraser;
ComboBoxPalmEraserSensitivity.SelectedIndex = Settings.Canvas.PalmEraserSensitivity;
}
// Advanced
if (Settings.Advanced != null)
{
+2 -4
View File
@@ -233,8 +233,7 @@ namespace Ink_Canvas
if (palmEraserWasEnabledBeforeMultiTouch)
{
Settings.Canvas.EnablePalmEraser = true;
if (ToggleSwitchEnablePalmEraser != null)
ToggleSwitchEnablePalmEraser.IsOn = true;
SaveSettingsToFile();
}
}
else
@@ -259,8 +258,7 @@ namespace Ink_Canvas
palmEraserWasEnabledBeforeMultiTouch = Settings.Canvas.EnablePalmEraser;
Settings.Canvas.EnablePalmEraser = false;
if (ToggleSwitchEnablePalmEraser != null)
ToggleSwitchEnablePalmEraser.IsOn = false;
SaveSettingsToFile();
}
}