refactor(设置): 将黑板缩放功能从开关改为滑块控制

将黑板缩放功能从布尔开关改为可调节的滑块控制,并统一所有滑块值的精度为两位小数
This commit is contained in:
PrefacedCorg
2026-05-01 00:25:35 +08:00
parent a7b020b0ff
commit 8ad987a64b
9 changed files with 63 additions and 40 deletions
+1 -1
View File
@@ -829,7 +829,7 @@ namespace Ink_Canvas
Settings.Appearance.IsEnableDisPlayNibModeToggler = false; Settings.Appearance.IsEnableDisPlayNibModeToggler = false;
Settings.Appearance.IsColorfulViewboxFloatingBar = false; Settings.Appearance.IsColorfulViewboxFloatingBar = false;
Settings.Appearance.ViewboxFloatingBarScaleTransformValue = 1; Settings.Appearance.ViewboxFloatingBarScaleTransformValue = 1;
Settings.Appearance.EnableViewboxBlackBoardScaleTransform = false; Settings.Appearance.ViewboxBlackBoardScaleTransformValue = 0.8;
Settings.Appearance.IsTransparentButtonBackground = true; Settings.Appearance.IsTransparentButtonBackground = true;
Settings.Appearance.IsShowExitButton = true; Settings.Appearance.IsShowExitButton = true;
Settings.Appearance.IsShowEraserButton = true; Settings.Appearance.IsShowEraserButton = true;
+2 -10
View File
@@ -295,16 +295,8 @@ namespace Ink_Canvas
ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityValue; ViewboxFloatingBar.Opacity = Settings.Appearance.ViewboxFloatingBarOpacityValue;
if (Settings.Appearance.EnableViewboxBlackBoardScaleTransform) ViewboxBlackboardCenterSideScaleTransform.ScaleX = Settings.Appearance.ViewboxBlackBoardScaleTransformValue;
{ ViewboxBlackboardCenterSideScaleTransform.ScaleY = Settings.Appearance.ViewboxBlackBoardScaleTransformValue;
ViewboxBlackboardCenterSideScaleTransform.ScaleX = 0.8;
ViewboxBlackboardCenterSideScaleTransform.ScaleY = 0.8;
}
else
{
ViewboxBlackboardCenterSideScaleTransform.ScaleX = 1;
ViewboxBlackboardCenterSideScaleTransform.ScaleY = 1;
}
if (Settings.Appearance.IsTransparentButtonBackground) if (Settings.Appearance.IsTransparentButtonBackground)
{ {
+2 -2
View File
@@ -272,8 +272,8 @@ namespace Ink_Canvas
public bool EnableTrayIcon { get; set; } = true; public bool EnableTrayIcon { get; set; } = true;
[JsonProperty("viewboxFloatingBarOpacityInPPTValue")] [JsonProperty("viewboxFloatingBarOpacityInPPTValue")]
public double ViewboxFloatingBarOpacityInPPTValue { get; set; } = 0.5; public double ViewboxFloatingBarOpacityInPPTValue { get; set; } = 0.5;
[JsonProperty("enableViewboxBlackBoardScaleTransform")] [JsonProperty("viewboxBlackBoardScaleTransformValue")]
public bool EnableViewboxBlackBoardScaleTransform { get; set; } public double ViewboxBlackBoardScaleTransformValue { get; set; } = 1;
[JsonProperty("isTransparentButtonBackground")] [JsonProperty("isTransparentButtonBackground")]
public bool IsTransparentButtonBackground { get; set; } = true; public bool IsTransparentButtonBackground { get; set; } = true;
[JsonProperty("isShowExitButton")] [JsonProperty("isShowExitButton")]
@@ -92,7 +92,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -122,7 +122,7 @@
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Pinned}" /> <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Pinned}" />
</ui:SettingsCard.HeaderIcon> </ui:SettingsCard.HeaderIcon>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="8"> <ikw:SimpleStackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="{Binding ElementName=ViewboxFloatingBarScaleTransformValueSlider, Path=Value}" <TextBlock Text="{Binding ElementName=ViewboxFloatingBarScaleTransformValueSlider, Path=Value, StringFormat={}{0:F2}}"
VerticalAlignment="Center" FontFamily="Consolas"/> VerticalAlignment="Center" FontFamily="Consolas"/>
<Slider x:Name="ViewboxFloatingBarScaleTransformValueSlider" Minimum="0.5" <Slider x:Name="ViewboxFloatingBarScaleTransformValueSlider" Minimum="0.5"
Maximum="1.25" Width="168" Maximum="1.25" Width="168"
@@ -169,11 +169,20 @@
SwitchName="ToggleSwitchEnableDisPlayNibModeToggle" SwitchName="ToggleSwitchEnableDisPlayNibModeToggle"
Toggled="ToggleSwitchEnableDisPlayNibModeToggle_Toggled" /> Toggled="ToggleSwitchEnableDisPlayNibModeToggle_Toggled" />
<controls:LabeledSettingsCard x:Name="CardEnableViewboxBlackBoardScaleTransform" <ui:SettingsCard Header="{i18n:I18n Key=Theme_BlackboardScale80}">
Header="{i18n:I18n Key=Theme_BlackboardScale80}" <ui:SettingsCard.HeaderIcon>
Icon="{x:Static ui:SegoeFluentIcons.BackToWindow}" <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.BackToWindow}" />
SwitchName="ToggleSwitchEnableViewboxBlackBoardScaleTransform" </ui:SettingsCard.HeaderIcon>
Toggled="ToggleSwitchEnableViewboxBlackBoardScaleTransform_Toggled" /> <ikw:SimpleStackPanel Orientation="Horizontal" Spacing="8">
<TextBlock Text="{Binding ElementName=ViewboxBlackBoardScaleTransformValueSlider, Path=Value, StringFormat={}{0:F2}}"
VerticalAlignment="Center" FontFamily="Consolas"/>
<Slider x:Name="ViewboxBlackBoardScaleTransformValueSlider" Minimum="0.5"
Maximum="1.5" Width="168"
IsSnapToTickEnabled="True" Value="1" TickFrequency="0.05"
TickPlacement="None" AutoToolTipPlacement="None"
ValueChanged="ViewboxBlackBoardScaleTransformValueSlider_ValueChanged" />
</ikw:SimpleStackPanel>
</ui:SettingsCard>
<controls:LabeledSettingsCard x:Name="CardEnableTimeDisplayInWhiteboardMode" <controls:LabeledSettingsCard x:Name="CardEnableTimeDisplayInWhiteboardMode"
Header="{i18n:I18n Key=Theme_ShowTimeInWhiteboard}" Header="{i18n:I18n Key=Theme_ShowTimeInWhiteboard}"
@@ -69,11 +69,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
if (settings.Appearance.ViewboxFloatingBarScaleTransformValue != 0) if (settings.Appearance.ViewboxFloatingBarScaleTransformValue != 0)
ViewboxFloatingBarScaleTransformValueSlider.Value = settings.Appearance.ViewboxFloatingBarScaleTransformValue; ViewboxFloatingBarScaleTransformValueSlider.Value = settings.Appearance.ViewboxFloatingBarScaleTransformValue;
ViewboxBlackBoardScaleTransformValueSlider.Value = settings.Appearance.ViewboxBlackBoardScaleTransformValue;
ViewboxFloatingBarOpacityValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityValue; ViewboxFloatingBarOpacityValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityValue;
ViewboxFloatingBarOpacityInPPTValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityInPPTValue; ViewboxFloatingBarOpacityInPPTValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityInPPTValue;
CardEnableDisPlayNibModeToggle.IsOn = settings.Appearance.IsEnableDisPlayNibModeToggler; CardEnableDisPlayNibModeToggle.IsOn = settings.Appearance.IsEnableDisPlayNibModeToggler;
CardEnableViewboxBlackBoardScaleTransform.IsOn = settings.Appearance.EnableViewboxBlackBoardScaleTransform;
CardEnableTimeDisplayInWhiteboardMode.IsOn = settings.Appearance.EnableTimeDisplayInWhiteboardMode; CardEnableTimeDisplayInWhiteboardMode.IsOn = settings.Appearance.EnableTimeDisplayInWhiteboardMode;
CardEnableChickenSoupInWhiteboardMode.IsOn = settings.Appearance.EnableChickenSoupInWhiteboardMode; CardEnableChickenSoupInWhiteboardMode.IsOn = settings.Appearance.EnableChickenSoupInWhiteboardMode;
@@ -227,7 +228,8 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void ViewboxFloatingBarScaleTransformValueSlider_ValueChanged(object sender, RoutedEventArgs e) private void ViewboxFloatingBarScaleTransformValueSlider_ValueChanged(object sender, RoutedEventArgs e)
{ {
if (!_isLoaded) return; if (!_isLoaded) return;
var val = ViewboxFloatingBarScaleTransformValueSlider.Value; var val = Math.Round(ViewboxFloatingBarScaleTransformValueSlider.Value, 2);
ViewboxFloatingBarScaleTransformValueSlider.Value = val;
SettingsManager.Settings.Appearance.ViewboxFloatingBarScaleTransformValue = val; SettingsManager.Settings.Appearance.ViewboxFloatingBarScaleTransformValue = val;
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
var mw = GetMainWindow(); var mw = GetMainWindow();
@@ -245,21 +247,25 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void ViewboxFloatingBarOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e) private void ViewboxFloatingBarOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
{ {
if (!_isLoaded) return; if (!_isLoaded) return;
SettingsManager.Settings.Appearance.ViewboxFloatingBarOpacityValue = ViewboxFloatingBarOpacityValueSlider.Value; var val = Math.Round(ViewboxFloatingBarOpacityValueSlider.Value, 2);
ViewboxFloatingBarOpacityValueSlider.Value = val;
SettingsManager.Settings.Appearance.ViewboxFloatingBarOpacityValue = val;
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
var mw = GetMainWindow(); var mw = GetMainWindow();
if (mw != null) mw.ViewboxFloatingBar.Opacity = ViewboxFloatingBarOpacityValueSlider.Value; if (mw != null) mw.ViewboxFloatingBar.Opacity = val;
} }
private void ViewboxFloatingBarOpacityInPPTValueSlider_ValueChanged(object sender, RoutedEventArgs e) private void ViewboxFloatingBarOpacityInPPTValueSlider_ValueChanged(object sender, RoutedEventArgs e)
{ {
if (!_isLoaded) return; if (!_isLoaded) return;
SettingsManager.Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue = ViewboxFloatingBarOpacityInPPTValueSlider.Value; var val = Math.Round(ViewboxFloatingBarOpacityInPPTValueSlider.Value, 2);
ViewboxFloatingBarOpacityInPPTValueSlider.Value = val;
SettingsManager.Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue = val;
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
var mw = GetMainWindow(); var mw = GetMainWindow();
if (mw != null && mw.currentMode == 2) if (mw != null && mw.currentMode == 2)
{ {
mw.ViewboxFloatingBar.Opacity = ViewboxFloatingBarOpacityInPPTValueSlider.Value; mw.ViewboxFloatingBar.Opacity = val;
} }
} }
@@ -281,17 +287,18 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
} }
} }
private void ToggleSwitchEnableViewboxBlackBoardScaleTransform_Toggled(object sender, RoutedEventArgs e) private void ViewboxBlackBoardScaleTransformValueSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
var mw = GetMainWindow(); var mw = GetMainWindow();
if (mw != null) if (mw != null)
{ {
var scale = CardEnableViewboxBlackBoardScaleTransform.IsOn ? 0.8 : 1.0; mw.ViewboxBlackboardCenterSideScaleTransform.ScaleX = val;
mw.ViewboxBlackboardCenterSideScaleTransform.ScaleX = scale; mw.ViewboxBlackboardCenterSideScaleTransform.ScaleY = val;
mw.ViewboxBlackboardCenterSideScaleTransform.ScaleY = scale;
} }
} }
@@ -294,7 +294,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void BrushAutoRestoreWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) private void BrushAutoRestoreWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -150,7 +150,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void LineStraightenSensitivitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) private void LineStraightenSensitivitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -1,4 +1,5 @@
using Ink_Canvas.Windows.SettingsViews.Helpers; using Ink_Canvas.Windows.SettingsViews.Helpers;
using System;
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Media; using System.Windows.Media;
@@ -77,10 +78,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
} }
private void RandWindowOnceCloseLatencySlider_ValueChanged(object sender, RoutedEventArgs e) private void RandWindowOnceCloseLatencySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -213,7 +216,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void MLAvoidanceWeightSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) private void MLAvoidanceWeightSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -273,10 +278,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
} }
private void TimerVolumeSlider_ValueChanged(object sender, RoutedEventArgs e) private void TimerVolumeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }
@@ -311,10 +318,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
} }
private void ProgressiveReminderVolumeSlider_ValueChanged(object sender, RoutedEventArgs e) private void ProgressiveReminderVolumeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{ {
if (!_isLoaded) return; 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(); SettingsManager.SaveSettingsToFile();
} }