增加打开单模型功能

This commit is contained in:
ww-rm
2025-09-21 01:13:15 +08:00
parent a814d3d99a
commit 01e12f4524
6 changed files with 26 additions and 1 deletions

View File

@@ -19,6 +19,8 @@ namespace SpineViewer.Resources
public static string Str_GeneratePreviewsTitle => Get<string>("Str_GeneratePreviewsTitle"); public static string Str_GeneratePreviewsTitle => Get<string>("Str_GeneratePreviewsTitle");
public static string Str_DeletePreviewsTitle => Get<string>("Str_DeletePreviewsTitle"); public static string Str_DeletePreviewsTitle => Get<string>("Str_DeletePreviewsTitle");
public static string Str_AddSpineObjectsTitle => Get<string>("Str_AddSpineObjectsTitle"); public static string Str_AddSpineObjectsTitle => Get<string>("Str_AddSpineObjectsTitle");
public static string Str_OpenSkelFileTitle => Get<string>("Str_OpenSkelFileTitle");
public static string Str_OpenAtlasFileTitle => Get<string>("Str_OpenAtlasFileTitle");
public static string Str_ReloadSpineObjectsTitle => Get<string>("Str_ReloadSpineObjectsTitle"); public static string Str_ReloadSpineObjectsTitle => Get<string>("Str_ReloadSpineObjectsTitle");
public static string Str_CustomFFmpegExporterTitle => Get<string>("Str_CustomFFmpegExporterTitle"); public static string Str_CustomFFmpegExporterTitle => Get<string>("Str_CustomFFmpegExporterTitle");

View File

@@ -37,6 +37,8 @@
<s:String x:Key="Str_Show">Show</s:String> <s:String x:Key="Str_Show">Show</s:String>
<s:String x:Key="Str_ListViewStatusBar">{0} items, {1} selected</s:String> <s:String x:Key="Str_ListViewStatusBar">{0} items, {1} selected</s:String>
<s:String x:Key="Str_AddSpineObject">Add...</s:String> <s:String x:Key="Str_AddSpineObject">Add...</s:String>
<s:String x:Key="Str_OpenSkelFileTitle">Select Skeleton File (skel)</s:String>
<s:String x:Key="Str_OpenAtlasFileTitle">Select Atlas File (atlas)</s:String>
<s:String x:Key="Str_AddSpineObjectFromClipboard">Add from Clipboard</s:String> <s:String x:Key="Str_AddSpineObjectFromClipboard">Add from Clipboard</s:String>
<s:String x:Key="Str_RemoveSpineObject">Remove</s:String> <s:String x:Key="Str_RemoveSpineObject">Remove</s:String>
<s:String x:Key="Str_RemoveAllSpineObject">Remove All</s:String> <s:String x:Key="Str_RemoveAllSpineObject">Remove All</s:String>

View File

@@ -37,6 +37,8 @@
<s:String x:Key="Str_Show">表示</s:String> <s:String x:Key="Str_Show">表示</s:String>
<s:String x:Key="Str_ListViewStatusBar">全{0}件、選択中{1}件</s:String> <s:String x:Key="Str_ListViewStatusBar">全{0}件、選択中{1}件</s:String>
<s:String x:Key="Str_AddSpineObject">追加...</s:String> <s:String x:Key="Str_AddSpineObject">追加...</s:String>
<s:String x:Key="Str_OpenSkelFileTitle">スケルトンファイルを選択skel</s:String>
<s:String x:Key="Str_OpenAtlasFileTitle">アトラスファイルを選択atlas</s:String>
<s:String x:Key="Str_AddSpineObjectFromClipboard">クリップボードから追加</s:String> <s:String x:Key="Str_AddSpineObjectFromClipboard">クリップボードから追加</s:String>
<s:String x:Key="Str_RemoveSpineObject">削除</s:String> <s:String x:Key="Str_RemoveSpineObject">削除</s:String>
<s:String x:Key="Str_RemoveAllSpineObject">すべて削除</s:String> <s:String x:Key="Str_RemoveAllSpineObject">すべて削除</s:String>

View File

@@ -37,6 +37,8 @@
<s:String x:Key="Str_Show">显示</s:String> <s:String x:Key="Str_Show">显示</s:String>
<s:String x:Key="Str_ListViewStatusBar">共 {0} 项,已选择 {1} 项</s:String> <s:String x:Key="Str_ListViewStatusBar">共 {0} 项,已选择 {1} 项</s:String>
<s:String x:Key="Str_AddSpineObject">添加...</s:String> <s:String x:Key="Str_AddSpineObject">添加...</s:String>
<s:String x:Key="Str_OpenSkelFileTitle">选择骨骼文件skel</s:String>
<s:String x:Key="Str_OpenAtlasFileTitle">选择图集文件atlas</s:String>
<s:String x:Key="Str_AddSpineObjectFromClipboard">从剪贴板添加</s:String> <s:String x:Key="Str_AddSpineObjectFromClipboard">从剪贴板添加</s:String>
<s:String x:Key="Str_RemoveSpineObject">移除</s:String> <s:String x:Key="Str_RemoveSpineObject">移除</s:String>
<s:String x:Key="Str_RemoveAllSpineObject">移除全部</s:String> <s:String x:Key="Str_RemoveAllSpineObject">移除全部</s:String>

View File

@@ -61,6 +61,18 @@ namespace SpineViewer.Services
return dialog.ShowDialog() ?? false; return dialog.ShowDialog() ?? false;
} }
public static bool ShowOpenFileDialog(out string? fileName, string title = null, string filter = "")
{
var dialog = new OpenFileDialog() { Title = title, Filter = filter };
if (dialog.ShowDialog() is true)
{
fileName = dialog.FileName;
return true;
}
fileName = null;
return false;
}
/// <summary> /// <summary>
/// 获取用户选择的文件夹 /// 获取用户选择的文件夹
/// </summary> /// </summary>

View File

@@ -107,7 +107,12 @@ namespace SpineViewer.ViewModels.MainWindow
private void AddSpineObject_Execute() private void AddSpineObject_Execute()
{ {
MessagePopupService.Info("Not Implemented, please drag files into here or add them from clipboard :)"); if (!DialogService.ShowOpenFileDialog(out var skelFileName, AppResource.Str_OpenSkelFileTitle))
return;
if (!DialogService.ShowOpenFileDialog(out var atlasFileName, AppResource.Str_OpenAtlasFileTitle))
return;
AddSpineObject(skelFileName, atlasFileName);
_logger.LogCurrentProcessMemoryUsage();
} }
/// <summary> /// <summary>