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"
Closed="Window_Closed"
PreviewKeyDown="Main_Grid_PreviewKeyDown"
Height="16000" Width="1440"
Height="11080" Width="1440"
FontFamily="Microsoft YaHei UI"
MouseWheel="Window_MouseWheel"
Foreground="{DynamicResource FloatBarForeground}"
+6
View File
@@ -1032,6 +1032,12 @@
<data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve">
<value>Use advanced curve smoothing (recommended)</value>
</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">
<value>Enable ink fade</value>
</data>
+6
View File
@@ -1074,6 +1074,12 @@
<data name="Canvas_AdvancedBezierSmoothing" xml:space="preserve">
<value>使用高级曲线平滑(推荐)</value>
</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">
<value>启用墨迹渐隐功能</value>
</data>
@@ -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)
{
case "1":
SettingsManager.Settings.Canvas.FitToCurve = true;
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)
{
break;
case "2":
SettingsManager.Settings.Canvas.FitToCurve = false;
CardFitToCurve.IsOn = false;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = true;
break;
default:
SettingsManager.Settings.Canvas.FitToCurve = false;
SettingsManager.Settings.Canvas.UseAdvancedBezierSmoothing = false;
break;
}
SettingsManager.SaveSettingsToFile();
}