From 8ad987a64b11c09555ddf8b35041e28e12cf2506 Mon Sep 17 00:00:00 2001 From: PrefacedCorg <1876568293@qq.com> Date: Fri, 1 May 2026 00:25:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E8=AE=BE=E7=BD=AE):=20=E5=B0=86?= =?UTF-8?q?=E9=BB=91=E6=9D=BF=E7=BC=A9=E6=94=BE=E5=8A=9F=E8=83=BD=E4=BB=8E?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E6=94=B9=E4=B8=BA=E6=BB=91=E5=9D=97=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将黑板缩放功能从布尔开关改为可调节的滑块控制,并统一所有滑块值的精度为两位小数 --- Ink Canvas/MainWindow_cs/MW_Settings.cs | 2 +- Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 12 ++------ Ink Canvas/Resources/Settings.cs | 4 +-- .../SettingsViews/Pages/AdvancedPage.xaml.cs | 4 ++- .../SettingsViews/Pages/AppearancePage.xaml | 21 ++++++++++---- .../Pages/AppearancePage.xaml.cs | 29 ++++++++++++------- .../SettingsViews/Pages/CanvasPage.xaml.cs | 4 ++- .../Pages/InkRecognitionPage.xaml.cs | 4 ++- .../Pages/RandomDrawPage.xaml.cs | 23 ++++++++++----- 9 files changed, 63 insertions(+), 40 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 74d9b18a..05e97147 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -829,7 +829,7 @@ namespace Ink_Canvas Settings.Appearance.IsEnableDisPlayNibModeToggler = false; Settings.Appearance.IsColorfulViewboxFloatingBar = false; Settings.Appearance.ViewboxFloatingBarScaleTransformValue = 1; - Settings.Appearance.EnableViewboxBlackBoardScaleTransform = false; + Settings.Appearance.ViewboxBlackBoardScaleTransformValue = 0.8; Settings.Appearance.IsTransparentButtonBackground = true; Settings.Appearance.IsShowExitButton = true; Settings.Appearance.IsShowEraserButton = true; diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index 3f076a39..e317e42d 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -295,16 +295,8 @@ namespace Ink_Canvas ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityValue; - if (Settings.Appearance.EnableViewboxBlackBoardScaleTransform) - { - ViewboxBlackboardCenterSideScaleTransform.ScaleX = 0.8; - ViewboxBlackboardCenterSideScaleTransform.ScaleY = 0.8; - } - else - { - ViewboxBlackboardCenterSideScaleTransform.ScaleX = 1; - ViewboxBlackboardCenterSideScaleTransform.ScaleY = 1; - } + ViewboxBlackboardCenterSideScaleTransform.ScaleX = Settings.Appearance.ViewboxBlackBoardScaleTransformValue; + ViewboxBlackboardCenterSideScaleTransform.ScaleY = Settings.Appearance.ViewboxBlackBoardScaleTransformValue; if (Settings.Appearance.IsTransparentButtonBackground) { diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs index 1717f73d..268fb8bb 100644 --- a/Ink Canvas/Resources/Settings.cs +++ b/Ink Canvas/Resources/Settings.cs @@ -272,8 +272,8 @@ namespace Ink_Canvas public bool EnableTrayIcon { get; set; } = true; [JsonProperty("viewboxFloatingBarOpacityInPPTValue")] public double ViewboxFloatingBarOpacityInPPTValue { get; set; } = 0.5; - [JsonProperty("enableViewboxBlackBoardScaleTransform")] - public bool EnableViewboxBlackBoardScaleTransform { get; set; } + [JsonProperty("viewboxBlackBoardScaleTransformValue")] + public double ViewboxBlackBoardScaleTransformValue { get; set; } = 1; [JsonProperty("isTransparentButtonBackground")] public bool IsTransparentButtonBackground { get; set; } = true; [JsonProperty("isShowExitButton")] diff --git a/Ink Canvas/Windows/SettingsViews/Pages/AdvancedPage.xaml.cs b/Ink Canvas/Windows/SettingsViews/Pages/AdvancedPage.xaml.cs index 79c5338d..8fbb238b 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/AdvancedPage.xaml.cs +++ b/Ink Canvas/Windows/SettingsViews/Pages/AdvancedPage.xaml.cs @@ -92,7 +92,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.Advanced.TouchMultiplier = e.NewValue; + var val = Math.Round(TouchMultiplierSlider.Value, 2); + TouchMultiplierSlider.Value = val; + SettingsManager.Settings.Advanced.TouchMultiplier = val; SettingsManager.SaveSettingsToFile(); } diff --git a/Ink Canvas/Windows/SettingsViews/Pages/AppearancePage.xaml b/Ink Canvas/Windows/SettingsViews/Pages/AppearancePage.xaml index 5218c5e9..9ed9187c 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/AppearancePage.xaml +++ b/Ink Canvas/Windows/SettingsViews/Pages/AppearancePage.xaml @@ -122,7 +122,7 @@ - - + + + + + + + + + e) { if (!_isLoaded) return; - SettingsManager.Settings.Appearance.EnableViewboxBlackBoardScaleTransform = CardEnableViewboxBlackBoardScaleTransform.IsOn; + var val = Math.Round(ViewboxBlackBoardScaleTransformValueSlider.Value, 2); + ViewboxBlackBoardScaleTransformValueSlider.Value = val; + SettingsManager.Settings.Appearance.ViewboxBlackBoardScaleTransformValue = val; SettingsManager.SaveSettingsToFile(); var mw = GetMainWindow(); if (mw != null) { - var scale = CardEnableViewboxBlackBoardScaleTransform.IsOn ? 0.8 : 1.0; - mw.ViewboxBlackboardCenterSideScaleTransform.ScaleX = scale; - mw.ViewboxBlackboardCenterSideScaleTransform.ScaleY = scale; + mw.ViewboxBlackboardCenterSideScaleTransform.ScaleX = val; + mw.ViewboxBlackboardCenterSideScaleTransform.ScaleY = val; } } diff --git a/Ink Canvas/Windows/SettingsViews/Pages/CanvasPage.xaml.cs b/Ink Canvas/Windows/SettingsViews/Pages/CanvasPage.xaml.cs index 2defba7c..43f84570 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/CanvasPage.xaml.cs +++ b/Ink Canvas/Windows/SettingsViews/Pages/CanvasPage.xaml.cs @@ -294,7 +294,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages private void BrushAutoRestoreWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.Canvas.BrushAutoRestoreWidth = e.NewValue; + var val = Math.Round(BrushAutoRestoreWidthSlider.Value, 2); + BrushAutoRestoreWidthSlider.Value = val; + SettingsManager.Settings.Canvas.BrushAutoRestoreWidth = val; SettingsManager.SaveSettingsToFile(); } diff --git a/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml.cs b/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml.cs index 6990141c..9d869f4c 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml.cs +++ b/Ink Canvas/Windows/SettingsViews/Pages/InkRecognitionPage.xaml.cs @@ -150,7 +150,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages private void LineStraightenSensitivitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.InkToShape.LineStraightenSensitivity = e.NewValue; + var val = Math.Round(LineStraightenSensitivitySlider.Value, 2); + LineStraightenSensitivitySlider.Value = val; + SettingsManager.Settings.InkToShape.LineStraightenSensitivity = val; SettingsManager.SaveSettingsToFile(); } diff --git a/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml.cs b/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml.cs index 86381d23..5229cd89 100644 --- a/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml.cs +++ b/Ink Canvas/Windows/SettingsViews/Pages/RandomDrawPage.xaml.cs @@ -1,4 +1,5 @@ using Ink_Canvas.Windows.SettingsViews.Helpers; +using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media; @@ -77,10 +78,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages SettingsManager.SaveSettingsToFile(); } - private void RandWindowOnceCloseLatencySlider_ValueChanged(object sender, RoutedEventArgs e) + private void RandWindowOnceCloseLatencySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.RandSettings.RandWindowOnceCloseLatency = RandWindowOnceCloseLatencySlider.Value; + var val = Math.Round(RandWindowOnceCloseLatencySlider.Value, 2); + RandWindowOnceCloseLatencySlider.Value = val; + SettingsManager.Settings.RandSettings.RandWindowOnceCloseLatency = val; SettingsManager.SaveSettingsToFile(); } @@ -213,7 +216,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages private void MLAvoidanceWeightSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.RandSettings.MLAvoidanceWeight = MLAvoidanceWeightSlider.Value; + var val = Math.Round(MLAvoidanceWeightSlider.Value, 2); + MLAvoidanceWeightSlider.Value = val; + SettingsManager.Settings.RandSettings.MLAvoidanceWeight = val; SettingsManager.SaveSettingsToFile(); } @@ -273,10 +278,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages SettingsManager.SaveSettingsToFile(); } - private void TimerVolumeSlider_ValueChanged(object sender, RoutedEventArgs e) + private void TimerVolumeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.RandSettings.TimerVolume = TimerVolumeSlider.Value; + var val = Math.Round(TimerVolumeSlider.Value, 2); + TimerVolumeSlider.Value = val; + SettingsManager.Settings.RandSettings.TimerVolume = val; SettingsManager.SaveSettingsToFile(); } @@ -311,10 +318,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages SettingsManager.SaveSettingsToFile(); } - private void ProgressiveReminderVolumeSlider_ValueChanged(object sender, RoutedEventArgs e) + private void ProgressiveReminderVolumeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { if (!_isLoaded) return; - SettingsManager.Settings.RandSettings.ProgressiveReminderVolume = ProgressiveReminderVolumeSlider.Value; + var val = Math.Round(ProgressiveReminderVolumeSlider.Value, 2); + ProgressiveReminderVolumeSlider.Value = val; + SettingsManager.Settings.RandSettings.ProgressiveReminderVolume = val; SettingsManager.SaveSettingsToFile(); }