diff --git a/SpineViewer/Resources/Strings/en.xaml b/SpineViewer/Resources/Strings/en.xaml index 8ad9ddf..085b860 100644 --- a/SpineViewer/Resources/Strings/en.xaml +++ b/SpineViewer/Resources/Strings/en.xaml @@ -37,8 +37,9 @@ Show {0} items, {1} selected Add... - Remove Add from Clipboard + Remove + Remove All Reload Move Up Move Down diff --git a/SpineViewer/Resources/Strings/ja.xaml b/SpineViewer/Resources/Strings/ja.xaml index 0ff33d6..c9b71bc 100644 --- a/SpineViewer/Resources/Strings/ja.xaml +++ b/SpineViewer/Resources/Strings/ja.xaml @@ -37,8 +37,9 @@ 表示 全{0}件、選択中{1}件 追加... - 削除 クリップボードから追加 + 削除 + すべて削除 再読み込み 上へ移動 下へ移動 diff --git a/SpineViewer/Resources/Strings/zh.xaml b/SpineViewer/Resources/Strings/zh.xaml index 75eb715..7f04789 100644 --- a/SpineViewer/Resources/Strings/zh.xaml +++ b/SpineViewer/Resources/Strings/zh.xaml @@ -37,8 +37,9 @@ 显示 共 {0} 项,已选择 {1} 项 添加... - 移除 从剪贴板添加 + 移除 + 移除全部 重新加载 上移 下移 diff --git a/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs b/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs index 17a46a5..55d5f23 100644 --- a/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs +++ b/SpineViewer/ViewModels/MainWindow/SpineObjectListViewModel.cs @@ -144,6 +144,34 @@ namespace SpineViewer.ViewModels.MainWindow return true; } + /// + /// 移除全部模型 + /// + public RelayCommand Cmd_RemoveAllSpineObject => _cmd_RemoveAllSpineObject ??= new(RemoveAllSpineObject_Execute, RemoveAllSpineObject_CanExecute); + private RelayCommand? _cmd_RemoveAllSpineObject; + + private void RemoveAllSpineObject_Execute(IList? args) + { + if (!RemoveAllSpineObject_CanExecute(args)) return; + + if (!MessagePopupService.Quest(string.Format(AppResource.Str_RemoveItemsQuest, args.Count))) + return; + + lock (_spineObjectModels.Lock) + { + foreach (var sp in _spineObjectModels) + sp.Dispose(); + _spineObjectModels.Clear(); + } + } + + private bool RemoveAllSpineObject_CanExecute(IList? args) + { + if (args is null) return false; + if (args.Count <= 0) return false; + return true; + } + /// /// 从剪贴板文件列表添加模型 /// diff --git a/SpineViewer/Views/MainWindow.xaml b/SpineViewer/Views/MainWindow.xaml index 33d1779..bda9156 100644 --- a/SpineViewer/Views/MainWindow.xaml +++ b/SpineViewer/Views/MainWindow.xaml @@ -147,13 +147,16 @@ + - +