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
@@ -123,17 +123,17 @@
SwitchName="ToggleSwitchShowCircleCenter"
Toggled="ToggleSwitchShowCircleCenter_Toggled" />
<controls:LabeledSettingsCard x:Name="CardFitToCurve"
Header="{i18n:I18n Key=Canvas_WPFBezierSmoothing}"
Icon="{x:Static ui:SegoeFluentIcons.InkingTool}"
SwitchName="ToggleSwitchFitToCurve"
Toggled="ToggleSwitchFitToCurve_Toggled" />
<controls:LabeledSettingsCard x:Name="CardAdvancedBezierSmoothing"
Header="{i18n:I18n Key=Canvas_AdvancedBezierSmoothing}"
Icon="{x:Static ui:SegoeFluentIcons.InkingTool}"
SwitchName="ToggleSwitchAdvancedBezierSmoothing"
Toggled="ToggleSwitchAdvancedBezierSmoothing_Toggled" />
<ui:SettingsCard Header="{i18n:I18n Key=Canvas_CurveSmoothingMode}">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.InkingTool}" />
</ui:SettingsCard.HeaderIcon>
<ComboBox x:Name="ComboBoxCurveSmoothingMode"
SelectionChanged="ComboBoxCurveSmoothingMode_SelectionChanged">
<ComboBoxItem Content="{i18n:I18n Key=Canvas_AdvancedBezierSmoothing}" Tag="2" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_WPFBezierSmoothing}" Tag="1" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_CurveSmoothing_Off}" Tag="0" />
</ComboBox>
</ui:SettingsCard>
<controls:LabeledSettingsCard x:Name="CardEnableInkFade"
Header="{i18n:I18n Key=Canvas_EnableInkFade}"
@@ -43,8 +43,10 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
CardLaunchSeewoVideoShowcaseForWhiteboardBooth.IsOn = settings.Canvas.LaunchSeewoVideoShowcaseForWhiteboardBooth;
ComboBoxHyperbolaAsymptoteOption.SelectedIndex = (int)settings.Canvas.HyperbolaAsymptoteOption;
CardShowCircleCenter.IsOn = settings.Canvas.ShowCircleCenter;
CardFitToCurve.IsOn = settings.Canvas.FitToCurve;
CardAdvancedBezierSmoothing.IsOn = settings.Canvas.UseAdvancedBezierSmoothing;
int curveMode = 0;
if (settings.Canvas.UseAdvancedBezierSmoothing) curveMode = 2;
else if (settings.Canvas.FitToCurve) curveMode = 1;
ComboBoxCurveSmoothingMode.SelectedIndex = curveMode;
CardEnableInkFade.IsOn = settings.Canvas.EnableInkFade;
InkFadeTimeSlider.Value = settings.Canvas.InkFadeTime;
CardHideInkFadeControlInPenMenu.IsOn = settings.Canvas.HideInkFadeControlInPenMenu;
@@ -195,26 +197,26 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
SettingsManager.SaveSettingsToFile();
}
private void ToggleSwitchFitToCurve_Toggled(object sender, RoutedEventArgs e)
private void ComboBoxCurveSmoothingMode_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (!_isLoaded) return;
SettingsManager.Settings.Canvas.FitToCurve = CardFitToCurve.IsOn;
if (CardFitToCurve.IsOn)
var item = ComboBoxCurveSmoothingMode?.SelectedItem as ComboBoxItem;
if (item == null) return;
var tag = item.Tag?.ToString() ?? "0";
switch (tag)
{
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
CardAdvancedBezierSmoothing.IsOn = false;
}
SettingsManager.SaveSettingsToFile();
}
private void ToggleSwitchAdvancedBezierSmoothing_Toggled(object sender, RoutedEventArgs e)
{
if (!_isLoaded) return;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = CardAdvancedBezierSmoothing.IsOn;
if (CardAdvancedBezierSmoothing.IsOn)
{
SettingsManager.Settings.Canvas.FitToCurve = false;
CardFitToCurve.IsOn = false;
case "1":
SettingsManager.Settings.Canvas.FitToCurve = true;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
break;
case "2":
SettingsManager.Settings.Canvas.FitToCurve = false;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = true;
break;
default:
SettingsManager.Settings.Canvas.FitToCurve = false;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
break;
}
SettingsManager.SaveSettingsToFile();
}