From bc3e37e5418456b82ef9a0a5bc089609d842e935 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sat, 28 Mar 2026 20:28:42 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow.xaml | 12 ++++++++++ Ink Canvas/MainWindow_cs/MW_Settings.cs | 20 ++++++++++++++++ Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 23 +++++++++++++++++++ Ink Canvas/Properties/Strings.resx | 4 ++++ 4 files changed, 59 insertions(+) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index b4ee444a..9af46a13 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -723,6 +723,18 @@ Toggled="ToggleSwitchIsAutoUpdateWithSilence_Toggled" /> + + + + + + + + + + diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index ce036a85..9fb01303 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -38,6 +38,8 @@ namespace Ink_Canvas /// 内部标记:是否正在内部更改更新通道 /// private bool _isChangingUpdateChannelInternally; + /// 内部标记:是否正在内部更改「更新包架构」(32/64 位 ZIP) + private bool _isChangingUpdatePackageArchInternally; /// /// 内部标记:是否正在内部更改遥测设置 /// @@ -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; diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs index 58f12fa9..a525e3ae 100644 --- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs +++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs @@ -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; diff --git a/Ink Canvas/Properties/Strings.resx b/Ink Canvas/Properties/Strings.resx index 359b3aed..44ea35ee 100644 --- a/Ink Canvas/Properties/Strings.resx +++ b/Ink Canvas/Properties/Strings.resx @@ -374,6 +374,10 @@ 稳定版 (Release) 预览版 (Preview) 测试版 (Beta) + 软件架构 + 32 位 (x86) + 64 位 (x64) + # 选择要下载架构 # 稳定版提供可靠更新,预览版提供新功能体验同时拥有相较Beta版更强的稳定性,测试版提供新功能抢先体验 手动更新 # 点击后立即检查并下载最新版本