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.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;
+2 -10
View File
@@ -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)
{
+2 -2
View File
@@ -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")]
@@ -92,7 +92,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void TouchMultiplierSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> 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();
}
@@ -122,7 +122,7 @@
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Pinned}" />
</ui:SettingsCard.HeaderIcon>
<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"/>
<Slider x:Name="ViewboxFloatingBarScaleTransformValueSlider" Minimum="0.5"
Maximum="1.25" Width="168"
@@ -169,11 +169,20 @@
SwitchName="ToggleSwitchEnableDisPlayNibModeToggle"
Toggled="ToggleSwitchEnableDisPlayNibModeToggle_Toggled" />
<controls:LabeledSettingsCard x:Name="CardEnableViewboxBlackBoardScaleTransform"
Header="{i18n:I18n Key=Theme_BlackboardScale80}"
Icon="{x:Static ui:SegoeFluentIcons.BackToWindow}"
SwitchName="ToggleSwitchEnableViewboxBlackBoardScaleTransform"
Toggled="ToggleSwitchEnableViewboxBlackBoardScaleTransform_Toggled" />
<ui:SettingsCard Header="{i18n:I18n Key=Theme_BlackboardScale80}">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.BackToWindow}" />
</ui:SettingsCard.HeaderIcon>
<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"
Header="{i18n:I18n Key=Theme_ShowTimeInWhiteboard}"
@@ -69,11 +69,12 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
if (settings.Appearance.ViewboxFloatingBarScaleTransformValue != 0)
ViewboxFloatingBarScaleTransformValueSlider.Value = settings.Appearance.ViewboxFloatingBarScaleTransformValue;
ViewboxBlackBoardScaleTransformValueSlider.Value = settings.Appearance.ViewboxBlackBoardScaleTransformValue;
ViewboxFloatingBarOpacityValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityValue;
ViewboxFloatingBarOpacityInPPTValueSlider.Value = settings.Appearance.ViewboxFloatingBarOpacityInPPTValue;
CardEnableDisPlayNibModeToggle.IsOn = settings.Appearance.IsEnableDisPlayNibModeToggler;
CardEnableViewboxBlackBoardScaleTransform.IsOn = settings.Appearance.EnableViewboxBlackBoardScaleTransform;
CardEnableTimeDisplayInWhiteboardMode.IsOn = settings.Appearance.EnableTimeDisplayInWhiteboardMode;
CardEnableChickenSoupInWhiteboardMode.IsOn = settings.Appearance.EnableChickenSoupInWhiteboardMode;
@@ -227,7 +228,8 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void ViewboxFloatingBarScaleTransformValueSlider_ValueChanged(object sender, RoutedEventArgs e)
{
if (!_isLoaded) return;
var val = ViewboxFloatingBarScaleTransformValueSlider.Value;
var val = Math.Round(ViewboxFloatingBarScaleTransformValueSlider.Value, 2);
ViewboxFloatingBarScaleTransformValueSlider.Value = val;
SettingsManager.Settings.Appearance.ViewboxFloatingBarScaleTransformValue = val;
SettingsManager.SaveSettingsToFile();
var mw = GetMainWindow();
@@ -245,21 +247,25 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void ViewboxFloatingBarOpacityValueSlider_ValueChanged(object sender, RoutedEventArgs e)
{
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();
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)
{
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();
var mw = GetMainWindow();
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;
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;
}
}
@@ -294,7 +294,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void BrushAutoRestoreWidthSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> 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();
}
@@ -150,7 +150,9 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
private void LineStraightenSensitivitySlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> 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();
}
@@ -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<double> 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<double> 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<double> 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<double> 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();
}