refactor:迁移设置

This commit is contained in:
PrefacedCorg
2026-04-19 15:13:13 +08:00
parent 4e8f574fdb
commit 245a29f797
5 changed files with 45 additions and 31 deletions
+1 -1
View File
@@ -26,7 +26,7 @@
Closing="Window_Closing" Closing="Window_Closing"
Closed="Window_Closed" Closed="Window_Closed"
PreviewKeyDown="Main_Grid_PreviewKeyDown" PreviewKeyDown="Main_Grid_PreviewKeyDown"
Height="16000" Width="1440" Height="11080" Width="1440"
FontFamily="Microsoft YaHei UI" FontFamily="Microsoft YaHei UI"
MouseWheel="Window_MouseWheel" MouseWheel="Window_MouseWheel"
Foreground="{DynamicResource FloatBarForeground}" Foreground="{DynamicResource FloatBarForeground}"
+6
View File
@@ -1032,6 +1032,12 @@
<data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve"> <data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve">
<value>Use advanced curve smoothing (recommended)</value> <value>Use advanced curve smoothing (recommended)</value>
</data> </data>
<data name="Canvas_CurveSmoothingMode" xml:space="preserve">
<value>Curve smoothing mode</value>
</data>
<data name="Canvas_CurveSmoothing_Off" xml:space="preserve">
<value>Off</value>
</data>
<data name="Canvas_EnableInkFade" xml:space="preserve"> <data name="Canvas_EnableInkFade" xml:space="preserve">
<value>Enable ink fade</value> <value>Enable ink fade</value>
</data> </data>
+6
View File
@@ -1074,6 +1074,12 @@
<data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve"> <data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve">
<value>使用高级曲线平滑(推荐)</value> <value>使用高级曲线平滑(推荐)</value>
</data> </data>
<data name="Canvas_CurveSmoothingMode" xml:space="preserve">
<value>曲线平滑模式</value>
</data>
<data name="Canvas_CurveSmoothing_Off" xml:space="preserve">
<value>关闭</value>
</data>
<data name="Canvas_EnableInkFade" xml:space="preserve"> <data name="Canvas_EnableInkFade" xml:space="preserve">
<value>启用墨迹渐隐功能</value> <value>启用墨迹渐隐功能</value>
</data> </data>
@@ -123,17 +123,17 @@
SwitchName="ToggleSwitchShowCircleCenter" SwitchName="ToggleSwitchShowCircleCenter"
Toggled="ToggleSwitchShowCircleCenter_Toggled" /> Toggled="ToggleSwitchShowCircleCenter_Toggled" />
<controls:LabeledSettingsCard x:Name="CardFitToCurve" <ui:SettingsCard Header="{i18n:I18n Key=Canvas_CurveSmoothingMode}">
Header="{i18n:I18n Key=Canvas_WPFBezierSmoothing}" <ui:SettingsCard.HeaderIcon>
Icon="{x:Static ui:SegoeFluentIcons.InkingTool}" <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.InkingTool}" />
SwitchName="ToggleSwitchFitToCurve" </ui:SettingsCard.HeaderIcon>
Toggled="ToggleSwitchFitToCurve_Toggled" /> <ComboBox x:Name="ComboBoxCurveSmoothingMode"
SelectionChanged="ComboBoxCurveSmoothingMode_SelectionChanged">
<controls:LabeledSettingsCard x:Name="CardAdvancedBezierSmoothing" <ComboBoxItem Content="{i18n:I18n Key=Canvas_AdvancedBezierSmoothing}" Tag="2" />
Header="{i18n:I18n Key=Canvas_AdvancedBezierSmoothing}" <ComboBoxItem Content="{i18n:I18n Key=Canvas_WPFBezierSmoothing}" Tag="1" />
Icon="{x:Static ui:SegoeFluentIcons.InkingTool}" <ComboBoxItem Content="{i18n:I18n Key=Canvas_CurveSmoothing_Off}" Tag="0" />
SwitchName="ToggleSwitchAdvancedBezierSmoothing" </ComboBox>
Toggled="ToggleSwitchAdvancedBezierSmoothing_Toggled" /> </ui:SettingsCard>
<controls:LabeledSettingsCard x:Name="CardEnableInkFade" <controls:LabeledSettingsCard x:Name="CardEnableInkFade"
Header="{i18n:I18n Key=Canvas_EnableInkFade}" Header="{i18n:I18n Key=Canvas_EnableInkFade}"
@@ -43,8 +43,10 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
CardLaunchSeewoVideoShowcaseForWhiteboardBooth.IsOn = settings.Canvas.LaunchSeewoVideoShowcaseForWhiteboardBooth; CardLaunchSeewoVideoShowcaseForWhiteboardBooth.IsOn = settings.Canvas.LaunchSeewoVideoShowcaseForWhiteboardBooth;
ComboBoxHyperbolaAsymptoteOption.SelectedIndex = (int)settings.Canvas.HyperbolaAsymptoteOption; ComboBoxHyperbolaAsymptoteOption.SelectedIndex = (int)settings.Canvas.HyperbolaAsymptoteOption;
CardShowCircleCenter.IsOn = settings.Canvas.ShowCircleCenter; CardShowCircleCenter.IsOn = settings.Canvas.ShowCircleCenter;
CardFitToCurve.IsOn = settings.Canvas.FitToCurve; int curveMode = 0;
CardAdvancedBezierSmoothing.IsOn = settings.Canvas.UseAdvancedBezierSmoothing; if (settings.Canvas.UseAdvancedBezierSmoothing) curveMode = 2;
else if (settings.Canvas.FitToCurve) curveMode = 1;
ComboBoxCurveSmoothingMode.SelectedIndex = curveMode;
CardEnableInkFade.IsOn = settings.Canvas.EnableInkFade; CardEnableInkFade.IsOn = settings.Canvas.EnableInkFade;
InkFadeTimeSlider.Value = settings.Canvas.InkFadeTime; InkFadeTimeSlider.Value = settings.Canvas.InkFadeTime;
CardHideInkFadeControlInPenMenu.IsOn = settings.Canvas.HideInkFadeControlInPenMenu; CardHideInkFadeControlInPenMenu.IsOn = settings.Canvas.HideInkFadeControlInPenMenu;
@@ -195,26 +197,26 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
} }
private void ToggleSwitchFitToCurve_Toggled(object sender, RoutedEventArgs e) private void ComboBoxCurveSmoothingMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
if (!_isLoaded) return; if (!_isLoaded) return;
SettingsManager.Settings.Canvas.FitToCurve = CardFitToCurve.IsOn; var item = ComboBoxCurveSmoothingMode?.SelectedItem as ComboBoxItem;
if (CardFitToCurve.IsOn) if (item == null) return;
var tag = item.Tag?.ToString() ?? "0";
switch (tag)
{ {
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false; case "1":
CardAdvancedBezierSmoothing.IsOn = false; SettingsManager.Settings.Canvas.FitToCurve = true;
} SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
SettingsManager.SaveSettingsToFile(); break;
} case "2":
SettingsManager.Settings.Canvas.FitToCurve = false;
private void ToggleSwitchAdvancedBezierSmoothing_Toggled(object sender, RoutedEventArgs e) SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = true;
{ break;
if (!_isLoaded) return; default:
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = CardAdvancedBezierSmoothing.IsOn; SettingsManager.Settings.Canvas.FitToCurve = false;
if (CardAdvancedBezierSmoothing.IsOn) SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
{ break;
SettingsManager.Settings.Canvas.FitToCurve = false;
CardFitToCurve.IsOn = false;
} }
SettingsManager.SaveSettingsToFile(); SettingsManager.SaveSettingsToFile();
} }