From b7d7274a5aeaaf427ff4dbe7da2a2693fe81a290 Mon Sep 17 00:00:00 2001 From: ww-rm Date: Sun, 21 Sep 2025 00:55:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6=E5=85=B3?= =?UTF-8?q?=E8=81=94=E9=A6=96=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SpineViewer/App.xaml.cs | 3 +- SpineViewer/Models/PreferenceModel.cs | 3 + SpineViewer/Resources/Images/skel.ico | Bin 0 -> 195448 bytes SpineViewer/Resources/Images/skel.png | Bin 0 -> 7988 bytes .../Images/spineviewer.ico} | Bin 188478 -> 192735 bytes SpineViewer/Resources/Images/spineviewer.png | Bin 0 -> 5420 bytes SpineViewer/Resources/Strings/en.xaml | 1 + SpineViewer/Resources/Strings/ja.xaml | 1 + SpineViewer/Resources/Strings/zh.xaml | 1 + SpineViewer/SpineViewer.csproj | 9 +- .../MainWindow/PreferenceViewModel.cs | 89 +++++++++++++++++- SpineViewer/Views/PreferenceDialog.xaml | 8 +- 12 files changed, 107 insertions(+), 8 deletions(-) create mode 100644 SpineViewer/Resources/Images/skel.ico create mode 100644 SpineViewer/Resources/Images/skel.png rename SpineViewer/{appicon.ico => Resources/Images/spineviewer.ico} (57%) create mode 100644 SpineViewer/Resources/Images/spineviewer.png diff --git a/SpineViewer/App.xaml.cs b/SpineViewer/App.xaml.cs index c0a342f..bbd70a0 100644 --- a/SpineViewer/App.xaml.cs +++ b/SpineViewer/App.xaml.cs @@ -20,7 +20,8 @@ namespace SpineViewer { public const string ProgId = "SpineViewer.skel"; - public static readonly string ExeFilePath = Environment.ProcessPath; + public static readonly string ProcessPath = Environment.ProcessPath; + public static readonly string ProcessDirectory = Path.GetDirectoryName(Environment.ProcessPath); public static readonly string ProcessName = Process.GetCurrentProcess().ProcessName; public static readonly string Version = Assembly.GetExecutingAssembly().GetCustomAttribute()?.InformationalVersion; diff --git a/SpineViewer/Models/PreferenceModel.cs b/SpineViewer/Models/PreferenceModel.cs index afe9d3f..da94a82 100644 --- a/SpineViewer/Models/PreferenceModel.cs +++ b/SpineViewer/Models/PreferenceModel.cs @@ -76,6 +76,9 @@ namespace SpineViewer.Models [ObservableProperty] private bool _renderSelectedOnly; + [ObservableProperty] + private bool _associateFileSuffix; + [ObservableProperty] private AppLanguage _appLanguage; diff --git a/SpineViewer/Resources/Images/skel.ico b/SpineViewer/Resources/Images/skel.ico new file mode 100644 index 0000000000000000000000000000000000000000..1bc0a1d4033a9993f126052d9ce81ecdd51249ef GIT binary patch literal 195448 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 BV_*OP literal 0 HcmV?d00001 diff --git a/SpineViewer/Resources/Strings/en.xaml b/SpineViewer/Resources/Strings/en.xaml index 085b860..130bea1 100644 --- a/SpineViewer/Resources/Strings/en.xaml +++ b/SpineViewer/Resources/Strings/en.xaml @@ -233,6 +233,7 @@ Preview Options Application Options + Associate File Extension Language diff --git a/SpineViewer/Resources/Strings/ja.xaml b/SpineViewer/Resources/Strings/ja.xaml index c9b71bc..ff01c69 100644 --- a/SpineViewer/Resources/Strings/ja.xaml +++ b/SpineViewer/Resources/Strings/ja.xaml @@ -233,6 +233,7 @@ プレビュー画面オプション アプリケーションプション + ファイル拡張子を関連付ける 言語 diff --git a/SpineViewer/Resources/Strings/zh.xaml b/SpineViewer/Resources/Strings/zh.xaml index 7f04789..c254bd8 100644 --- a/SpineViewer/Resources/Strings/zh.xaml +++ b/SpineViewer/Resources/Strings/zh.xaml @@ -233,6 +233,7 @@ 预览画面选项 应用程序选项 + 关联文件后缀 语言 \ No newline at end of file diff --git a/SpineViewer/SpineViewer.csproj b/SpineViewer/SpineViewer.csproj index 4e75716..d638485 100644 --- a/SpineViewer/SpineViewer.csproj +++ b/SpineViewer/SpineViewer.csproj @@ -14,12 +14,15 @@ $(NoWarn);NETSDK1206 - appicon.ico + Resources\Images\spineviewer.ico app.manifest - + - + + PreserveNewest + + diff --git a/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs b/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs index 19ce571..950c304 100644 --- a/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/PreferenceViewModel.cs @@ -1,13 +1,16 @@ using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; +using Microsoft.Win32; using NLog; using Spine.SpineWrappers; using SpineViewer.Models; +using SpineViewer.Natives; using SpineViewer.Services; using SpineViewer.Utils; using System; using System.Collections.Generic; using System.Collections.Immutable; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -23,6 +26,10 @@ namespace SpineViewer.ViewModels.MainWindow /// public static readonly string PreferenceFilePath = Path.Combine(Path.GetDirectoryName(Environment.ProcessPath), "preference.json"); + private static readonly string SkelFileDescription = "SpineViewer File"; + private static readonly string SkelIconFilePath = Path.Combine(App.ProcessDirectory, "Resources\\Images\\skel.ico"); + private static readonly string ShellOpenCommand = $"\"{App.ProcessPath}\" \"%1\""; + private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); private readonly MainWindowViewModel _vmMain; @@ -63,8 +70,19 @@ namespace SpineViewer.ViewModels.MainWindow /// public void LoadPreference() { - if (JsonHelper.Deserialize(PreferenceFilePath, out var obj, true)) - Preference = obj; + if (JsonHelper.Deserialize(PreferenceFilePath, out var obj, true)) + { + try + { + Preference = obj; + } + catch (Exception ex) + { + + _logger.Trace(ex.ToString()); + _logger.Error("Failed to load some prefereneces, {0}", ex.Message); + } + } } /// @@ -94,6 +112,7 @@ namespace SpineViewer.ViewModels.MainWindow DebugClippings = DebugClippings, RenderSelectedOnly = RenderSelectedOnly, + AssociateFileSuffix = AssociateFileSuffix, AppLanguage = AppLanguage, }; } @@ -118,6 +137,7 @@ namespace SpineViewer.ViewModels.MainWindow DebugClippings = value.DebugClippings; RenderSelectedOnly = value.RenderSelectedOnly; + AssociateFileSuffix = value.AssociateFileSuffix; AppLanguage = value.AppLanguage; } } @@ -230,6 +250,71 @@ namespace SpineViewer.ViewModels.MainWindow set => SetProperty(_vmMain.SFMLRendererViewModel.RenderSelectedOnly, value, v => _vmMain.SFMLRendererViewModel.RenderSelectedOnly = v); } + public bool AssociateFileSuffix + { + get + { + try + { + // 检查 .skel 的 ProgID + using (var key = Registry.CurrentUser.OpenSubKey(@"Software\Classes\.skel")) + { + var progIdValue = key?.GetValue("") as string; + if (!string.Equals(progIdValue, App.ProgId, StringComparison.OrdinalIgnoreCase)) + return false; + } + + // 检查 command 指令是否相同 + using (var key = Registry.CurrentUser.OpenSubKey($@"Software\Classes\{App.ProgId}\shell\open\command")) + { + var command = key?.GetValue("") as string; + if (string.IsNullOrWhiteSpace(command)) + return false; + return command == ShellOpenCommand; + } + } + catch + { + return false; + } + } + set + { + SetProperty(AssociateFileSuffix, value, v => + { + if (v) + { + // 文件关联 + using (var key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\.skel")) + { + key?.SetValue("", App.ProgId); + } + + using (var key = Registry.CurrentUser.CreateSubKey($@"Software\Classes\{App.ProgId}")) + { + key?.SetValue("", SkelFileDescription); + using (var iconKey = key?.CreateSubKey("DefaultIcon")) + { + iconKey?.SetValue("", $"\"{SkelIconFilePath}\""); + } + using (var shellKey = key?.CreateSubKey(@"shell\open\command")) + { + shellKey?.SetValue("", ShellOpenCommand); + } + } + } + else + { + // 删除关联 + Registry.CurrentUser.DeleteSubKeyTree(@"Software\Classes\.skel", false); + Registry.CurrentUser.DeleteSubKeyTree($@"Software\Classes\{App.ProgId}", false); + } + + Shell32.SHChangeNotify(Shell32.SHCNE_ASSOCCHANGED, Shell32.SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero); + }); + } + } + public AppLanguage AppLanguage { get => ((App)App.Current).Language; diff --git a/SpineViewer/Views/PreferenceDialog.xaml b/SpineViewer/Views/PreferenceDialog.xaml index b3c7dfb..37723e4 100644 --- a/SpineViewer/Views/PreferenceDialog.xaml +++ b/SpineViewer/Views/PreferenceDialog.xaml @@ -143,13 +143,17 @@ +