improve:自动更新
This commit is contained in:
@@ -723,6 +723,18 @@
|
||||
Toggled="ToggleSwitchIsAutoUpdateWithSilence_Toggled" />
|
||||
<TextBlock Text="{i18n:I18n Key=Startup_SilentUpdateHint}" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||
|
||||
<!-- 更新包架构 -->
|
||||
<ikw:SimpleStackPanel Spacing="8" Margin="0,8,0,0">
|
||||
<TextBlock Text="{i18n:I18n Key=Startup_UpdatePackageArchitecture}" FontSize="15" FontWeight="Bold" Foreground="#fafafa"/>
|
||||
<ui:RadioButtons x:Name="UpdatePackageArchitectureSelector" Margin="0,4,0,0">
|
||||
<RadioButton Content="{i18n:I18n Key=Update_PackageArch_X86}" GroupName="UpdatePackageArchitecture"
|
||||
Tag="X86" Checked="UpdatePackageArchitectureSelector_Checked"/>
|
||||
<RadioButton Content="{i18n:I18n Key=Update_PackageArch_X64}" GroupName="UpdatePackageArchitecture"
|
||||
Tag="X64" Checked="UpdatePackageArchitectureSelector_Checked"/>
|
||||
</ui:RadioButtons>
|
||||
<TextBlock Text="{i18n:I18n Key=Startup_UpdatePackageArchitectureHint}" TextWrapping="Wrap" Foreground="#a1a1aa" />
|
||||
</ikw:SimpleStackPanel>
|
||||
|
||||
<!-- 更新通道选择 -->
|
||||
<ikw:SimpleStackPanel Spacing="8" Margin="0,8,0,0">
|
||||
<TextBlock Text="{i18n:I18n Key=Startup_UpdateChannel}" FontSize="15" FontWeight="Bold" Foreground="#fafafa"/>
|
||||
|
||||
@@ -38,6 +38,8 @@ namespace Ink_Canvas
|
||||
/// 内部标记:是否正在内部更改更新通道
|
||||
/// </summary>
|
||||
private bool _isChangingUpdateChannelInternally;
|
||||
/// <summary>内部标记:是否正在内部更改「更新包架构」(32/64 位 ZIP)</summary>
|
||||
private bool _isChangingUpdatePackageArchInternally;
|
||||
/// <summary>
|
||||
/// 内部标记:是否正在内部更改遥测设置
|
||||
/// </summary>
|
||||
@@ -5171,6 +5173,24 @@ namespace Ink_Canvas
|
||||
HideSubPanels();
|
||||
}
|
||||
|
||||
private void UpdatePackageArchitectureSelector_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
if (_isChangingUpdatePackageArchInternally) return;
|
||||
if (!(sender is RadioButton radioButton) || radioButton.Tag == null) return;
|
||||
|
||||
var newArch = string.Equals(radioButton.Tag.ToString(), "X64", StringComparison.OrdinalIgnoreCase)
|
||||
? UpdatePackageArchitecture.X64
|
||||
: UpdatePackageArchitecture.X86;
|
||||
|
||||
if (Settings.Startup.UpdatePackageArchitecture == newArch)
|
||||
return;
|
||||
|
||||
Settings.Startup.UpdatePackageArchitecture = newArch;
|
||||
SaveSettingsToFile();
|
||||
LogHelper.WriteLogToFile($"Settings | Update package architecture: {newArch}");
|
||||
}
|
||||
|
||||
private async void UpdateChannelSelector_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!isLoaded) return;
|
||||
|
||||
@@ -301,6 +301,29 @@ namespace Ink_Canvas
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化更新包架构
|
||||
if (UpdatePackageArchitectureSelector != null)
|
||||
{
|
||||
_isChangingUpdatePackageArchInternally = true;
|
||||
try
|
||||
{
|
||||
string wantTag = Settings.Startup.UpdatePackageArchitecture == UpdatePackageArchitecture.X64 ? "X64" : "X86";
|
||||
foreach (var item in UpdatePackageArchitectureSelector.Items)
|
||||
{
|
||||
if (item is RadioButton rb && rb.Tag != null &&
|
||||
string.Equals(rb.Tag.ToString(), wantTag, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
rb.IsChecked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_isChangingUpdatePackageArchInternally = false;
|
||||
}
|
||||
}
|
||||
|
||||
AutoUpdateTimePeriodBlock.Visibility = Settings.Startup.IsAutoUpdateWithSilence
|
||||
? Visibility.Visible
|
||||
: Visibility.Collapsed;
|
||||
|
||||
@@ -374,6 +374,10 @@
|
||||
<data name="Update_Release" xml:space="preserve"><value>稳定版 (Release)</value></data>
|
||||
<data name="Update_Preview" xml:space="preserve"><value>预览版 (Preview)</value></data>
|
||||
<data name="Update_Beta" xml:space="preserve"><value>测试版 (Beta)</value></data>
|
||||
<data name="Startup_UpdatePackageArchitecture" xml:space="preserve"><value>软件架构</value></data>
|
||||
<data name="Update_PackageArch_X86" xml:space="preserve"><value>32 位 (x86)</value></data>
|
||||
<data name="Update_PackageArch_X64" xml:space="preserve"><value>64 位 (x64)</value></data>
|
||||
<data name="Startup_UpdatePackageArchitectureHint" xml:space="preserve"><value># 选择要下载架构</value></data>
|
||||
<data name="Startup_UpdateChannelHint" xml:space="preserve"><value># 稳定版提供可靠更新,预览版提供新功能体验同时拥有相较Beta版更强的稳定性,测试版提供新功能抢先体验</value></data>
|
||||
<data name="Btn_ManualUpdate" xml:space="preserve"><value>手动更新</value></data>
|
||||
<data name="Startup_ManualUpdateHint" xml:space="preserve"><value># 点击后立即检查并下载最新版本</value></data>
|
||||
|
||||
Reference in New Issue
Block a user