feat(主页): 添加重启、重置和退出应用程序功能

在主页设置页面新增操作区域,包含重启应用程序、重置为推荐设置和退出应用程序三个功能按钮。同时添加了对应的多语言资源字符串。
This commit is contained in:
PrefacedCorg
2026-04-26 17:40:21 +08:00
parent 31120eab09
commit aacf5b696c
5 changed files with 61 additions and 100 deletions
+1 -100
View File
@@ -1,4 +1,4 @@
<Window Name="window" x:Class="Ink_Canvas.MainWindow"
<Window Name="window" x:Class="Ink_Canvas.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -528,105 +528,6 @@
Name="SettingsPanelScrollViewer">
<StackPanel Margin="20,20,20,20">
<Border Margin="0,0,0,10" Height="100" CornerRadius="5" BorderBrush="#a1a1aa"
BorderThickness="1">
<ikw:SimpleStackPanel VerticalAlignment="Center">
<TextBlock Foreground="#fafafa" HorizontalAlignment="Center"
VerticalAlignment="Center" FontSize="15" Margin="0,0,0,10"
Text="{i18n:I18n Key=Settings_AutoSaveHint}" Width="360"
Style="{StaticResource AutoFitSettingsHint15}" />
<ikw:SimpleStackPanel Spacing="5">
<ikw:SimpleStackPanel Spacing="5" Orientation="Horizontal"
HorizontalAlignment="Center">
<Button Width="116" Height="45"
Click="BtnRestart_Click">
<Button.Resources>
</Button.Resources>
<ikw:SimpleStackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image RenderOptions.BitmapScalingMode="HighQuality"
Margin="0,0,6,0" Height="20" Width="20">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M6.34315,6.34315C7.84299,4.8433 9.87707,4.0005 11.9981,4 14.2527,4.00897 16.4167,4.88785 18.039,6.45324L18.5858,7 16,7C15.4477,7 15,7.44772 15,8 15,8.55228 15.4477,9 16,9L21,9C21.1356,9 21.2649,8.97301 21.3828,8.92412 21.5007,8.87532 21.6112,8.80298 21.7071,8.70711 21.8902,8.52405 21.9874,8.28768 21.9989,8.04797 21.9996,8.03199 22,8.016 22,8L22,3C22,2.44772 21.5523,2 21,2 20.4477,2 20,2.44772 20,3L20,5.58579 19.4471,5.03289 19.435,5.02103C17.4405,3.09289,14.7779,2.01044,12.0038,2L12,2C9.34784,2 6.8043,3.05357 4.92893,4.92893 3.05357,6.8043 2,9.34784 2,12 2,12.5523 2.44772,13 3,13 3.55228,13 4,12.5523 4,12 4,9.87827 4.84285,7.84344 6.34315,6.34315z" />
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M22,12C22,14.6522 20.9464,17.1957 19.0711,19.0711 17.1957,20.9464 14.6522,22 12,22L11.9962,22C9.22213,21.9896,6.55946,20.9071,4.56496,18.979L4.55289,18.9671 4,18.4142 4,21C4,21.5523 3.55228,22 3,22 2.44772,22 2,21.5523 2,21L2,16.0002C2,15.8646 2.02699,15.7351 2.07588,15.6172 2.12432,15.5001 2.19595,15.3904 2.29078,15.295 2.29219,15.2936 2.2936,15.2922 2.29502,15.2908 2.48924,15.0977 2.74301,15.0008 2.997,15 2.998,15 2.999,15 3,15L8,15C8.55228,15 9,15.4477 9,16 9,16.5523 8.55228,17 8,17L5.41421,17 5.96095,17.5467C7.5833,19.1122 9.74736,19.9911 12.002,20 14.123,19.9995 16.157,19.1567 17.6569,17.6569 19.1571,16.1566 20,14.1217 20,12 20,11.4477 20.4477,11 21,11 21.5523,11 22,11.4477 22,12z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<Label FontSize="16" Foreground="#fafafa"
VerticalAlignment="Center"
FontWeight="Bold" Content="{i18n:I18n Key=Btn_Restart}"/>
</ikw:SimpleStackPanel>
</Button>
<Button Width="116" Height="45"
Click="BtnResetToSuggestion_Click"
Margin="0,0,0,0">
<ikw:SimpleStackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image
Margin="0,0,4,0" RenderOptions.BitmapScalingMode="HighQuality"
Height="20" Width="20">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M2,6C2,5.44772,2.44772,5,3,5L21,5C21.5523,5 22,5.44772 22,6 22,6.55228 21.5523,7 21,7L3,7C2.44772,7,2,6.55228,2,6z" />
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M2,12C2,11.4477,2.44772,11,3,11L7,11C7.55228,11 8,11.4477 8,12 8,12.5523 7.55228,13 7,13L3,13C2.44772,13,2,12.5523,2,12z" />
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M3,17C2.44772,17 2,17.4477 2,18 2,18.5523 2.44772,19 3,19L7,19C7.55228,19 8,18.5523 8,18 8,17.4477 7.55228,17 7,17L3,17z" />
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M12.3829,11.2029C13.4335,10.1522 14.8952,9.5 16.5,9.5 17.9587,9.5 19.3576,10.0795 20.3891,11.1109 21.4205,12.1424 22,13.5413 22,15 22,16.2593 21.6038,17.4867 20.8675,18.5083 20.1311,19.5299 19.092,20.2939 17.8974,20.6921 16.7027,21.0903 15.413,21.1026 14.211,20.7271 13.009,20.3516 11.9556,19.6074 11.2,18.6 10.8686,18.1582 10.9582,17.5314 11.4,17.2 11.8418,16.8686 12.4686,16.9582 12.8,17.4 13.3037,18.0716 14.006,18.5677 14.8073,18.8181 15.6087,19.0684 16.4685,19.0602 17.2649,18.7947 18.0614,18.5292 18.7541,18.0199 19.245,17.3388 19.7359,16.6578 20,15.8395 20,15 20,14.0717 19.6313,13.1815 18.9749,12.5251 18.3185,11.8687 17.4283,11.5 16.5,11.5 15.4448,11.5 14.4865,11.9278 13.7971,12.6171L13.4142,13 15,13C15.5523,13 16,13.4477 16,14 16,14.5523 15.5523,15 15,15L11.0007,15C10.9997,15 10.998,15 10.997,15 10.8625,14.9996 10.7343,14.9727 10.6172,14.9241 10.5001,14.8757 10.3904,14.804 10.295,14.7092 10.2936,14.7078 10.2922,14.7064 10.2908,14.705 10.196,14.6096 10.1243,14.4999 10.0759,14.3828 10.027,14.2649 10,14.1356 10,14L10,10C10,9.44772 10.4477,9 11,9 11.5523,9 12,9.44772 12,10L12,11.5858 12.3829,11.2029z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<Label Margin="2,0,0,0" FontSize="16" VerticalAlignment="Center"
Content="{i18n:I18n Key=Btn_Reset}"/>
</ikw:SimpleStackPanel>
</Button>
<Button Width="116" Height="45"
Click="BtnExit_Click">
<Button.Resources>
</Button.Resources>
<ikw:SimpleStackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image RenderOptions.BitmapScalingMode="HighQuality"
Margin="0,0,6,0" Height="20" Width="20">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M13,2C13,1.44772 12.5523,1 12,1 11.4477,1 11,1.44772 11,2L11,12C11,12.5523 11.4477,13 12,13 12.5523,13 13,12.5523 13,12L13,2z" />
<GeometryDrawing Brush="White"
Geometry="F1 M24,24z M0,0z M19.1073,5.89303C18.7168,5.50243 18.0837,5.50232 17.6931,5.89277 17.3025,6.28322 17.3024,6.91639 17.6928,7.30698 18.8098,8.42441 19.571,9.84758 19.8802,11.397 20.1894,12.9464 20.0329,14.5528 19.4305,16.0134 18.828,17.474 17.8065,18.7235 16.4948,19.6043 15.1831,20.4851 13.64,20.9578 12.06,20.9628 10.48,20.9677 8.93392,20.5047 7.61674,19.6321 6.29956,18.7595 5.27025,17.5164 4.65863,16.0596 4.04701,14.6028 3.88046,12.9975 4.17999,11.4462 4.47952,9.89485 5.23171,8.46694 6.3417,7.34254 6.7297,6.9495 6.72562,6.31635 6.33258,5.92835 5.93955,5.54036 5.3064,5.54444 4.9184,5.93747 3.5309,7.34298 2.59067,9.12786 2.21626,11.067 1.84185,13.0062 2.05003,15.0128 2.81456,16.8338 3.57909,18.6549 4.86572,20.2087 6.5122,21.2994 8.15867,22.3902 10.0913,22.9689 12.0662,22.9627 14.0412,22.9566 15.9701,22.3657 17.6098,21.2647 19.2494,20.1637 20.5262,18.6018 21.2793,16.776 22.0324,14.9502 22.2281,12.9424 21.8415,11.0056 21.455,9.06878 20.5036,7.28981 19.1073,5.89303z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<Label Foreground="#fafafa" FontSize="16"
VerticalAlignment="Center"
FontWeight="Bold" Content="{i18n:I18n Key=Btn_Exit}"/>
</ikw:SimpleStackPanel>
</Button>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Border>
<GroupBox Name="GroupBoxSettings">
<GroupBox.Header>
+9
View File
@@ -207,6 +207,15 @@
<data name="Btn_Exit" xml:space="preserve">
<value>Exit</value>
</data>
<data name="Home_RestartApp" xml:space="preserve">
<value>Restart application</value>
</data>
<data name="Home_ResetSettings" xml:space="preserve">
<value>Reset to recommended settings</value>
</data>
<data name="Home_ExitApp" xml:space="preserve">
<value>Exit application</value>
</data>
<data name="Settings_Mode" xml:space="preserve">
<value>Mode</value>
</data>
+9
View File
@@ -222,6 +222,15 @@
<data name="Btn_Exit" xml:space="preserve">
<value>退出</value>
</data>
<data name="Home_RestartApp" xml:space="preserve">
<value>重启应用程序</value>
</data>
<data name="Home_ResetSettings" xml:space="preserve">
<value>重置为推荐设置</value>
</data>
<data name="Home_ExitApp" xml:space="preserve">
<value>退出应用程序</value>
</data>
<data name="Settings_Mode" xml:space="preserve">
<value>模式设置</value>
</data>
@@ -29,6 +29,30 @@
HorizontalAlignment="Stretch"
Spacing="{StaticResource SettingsCardSpacing}">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="操作" />
<ui:SettingsCard Header="{i18n:I18n Key=Btn_Restart}" Description="{i18n:I18n Key=Home_RestartApp}"
IsClickEnabled="True" Click="BtnRestart_Click">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Refresh}" />
</ui:SettingsCard.HeaderIcon>
</ui:SettingsCard>
<ui:SettingsCard Header="{i18n:I18n Key=Btn_Reset}" Description="{i18n:I18n Key=Home_ResetSettings}"
IsClickEnabled="True" Click="BtnResetToSuggestion_Click">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Clear}" />
</ui:SettingsCard.HeaderIcon>
</ui:SettingsCard>
<ui:SettingsCard Header="{i18n:I18n Key=Btn_Exit}" Description="{i18n:I18n Key=Home_ExitApp}"
IsClickEnabled="True" Click="BtnExit_Click">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Cancel}" />
</ui:SettingsCard.HeaderIcon>
</ui:SettingsCard>
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="基本" />
@@ -17,5 +17,23 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
settingsWindow?.NavigateToPage(pageTag);
}
}
private void BtnRestart_Click(object sender, RoutedEventArgs e)
{
var mainWindow = Application.Current.MainWindow as MainWindow;
mainWindow?.BtnRestart_Click(sender, e);
}
private void BtnResetToSuggestion_Click(object sender, RoutedEventArgs e)
{
var mainWindow = Application.Current.MainWindow as MainWindow;
mainWindow?.BtnResetToSuggestion_Click(sender, e);
}
private void BtnExit_Click(object sender, RoutedEventArgs e)
{
var mainWindow = Application.Current.MainWindow as MainWindow;
mainWindow?.BtnExit_Click(sender, e);
}
}
}