From 0047be65ca5cea06268d7e9609f80d3c373d47a1 Mon Sep 17 00:00:00 2001 From: home-PC Date: Wed, 27 May 2026 14:58:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A5=E9=BD=90=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=AE=B1=E5=89=A9=E4=BD=99=20MVP=20=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现轻量图标系统、图标选择器、本地图标导入和关联图标缓存。 补齐外观设置、捕获式快捷键录入、卡片右键菜单、分类图标编辑,以及分类和卡片拖拽排序。 同时将配置数据版本升级到 2,并在导入和加载时拒绝更高版本配置,避免误读未来格式。 --- src/PersonalToolbox/App.xaml | 6 + src/PersonalToolbox/MainWindow.xaml | 120 +++++++-- src/PersonalToolbox/MainWindow.xaml.cs | 137 ++++++++++ src/PersonalToolbox/Models/ToolModels.cs | 6 +- .../Services/AppearanceService.cs | 63 +++++ .../Services/ConfigurationService.cs | 122 ++++++++- src/PersonalToolbox/Services/HotkeyService.cs | 84 ++++++ src/PersonalToolbox/Services/IconService.cs | 242 ++++++++++++++++++ .../ViewModels/MainWindowViewModel.cs | 207 ++++++++++++++- .../ViewModels/ToolCardViewModel.cs | 79 +++--- .../Views/CategoryPickerWindow.xaml | 38 +++ .../Views/CategoryPickerWindow.xaml.cs | 45 ++++ .../Views/CombinationEditorWindow.xaml | 58 ++++- .../Views/CombinationEditorWindow.xaml.cs | 46 +++- .../Views/HotkeyCaptureWindow.xaml | 57 +++++ .../Views/HotkeyCaptureWindow.xaml.cs | 63 +++++ .../Views/IconKeyToTextConverter.cs | 18 ++ .../Views/IconPickerWindow.xaml | 82 ++++++ .../Views/IconPickerWindow.xaml.cs | 90 +++++++ src/PersonalToolbox/Views/SettingsWindow.xaml | 91 ++++++- .../Views/SettingsWindow.xaml.cs | 74 +++++- .../Views/ToolEditorWindow.xaml | 58 ++++- .../Views/ToolEditorWindow.xaml.cs | 49 +++- 23 files changed, 1735 insertions(+), 100 deletions(-) create mode 100644 src/PersonalToolbox/Services/AppearanceService.cs create mode 100644 src/PersonalToolbox/Services/IconService.cs create mode 100644 src/PersonalToolbox/Views/CategoryPickerWindow.xaml create mode 100644 src/PersonalToolbox/Views/CategoryPickerWindow.xaml.cs create mode 100644 src/PersonalToolbox/Views/HotkeyCaptureWindow.xaml create mode 100644 src/PersonalToolbox/Views/HotkeyCaptureWindow.xaml.cs create mode 100644 src/PersonalToolbox/Views/IconKeyToTextConverter.cs create mode 100644 src/PersonalToolbox/Views/IconPickerWindow.xaml create mode 100644 src/PersonalToolbox/Views/IconPickerWindow.xaml.cs diff --git a/src/PersonalToolbox/App.xaml b/src/PersonalToolbox/App.xaml index 391d37d..b2c7b87 100644 --- a/src/PersonalToolbox/App.xaml +++ b/src/PersonalToolbox/App.xaml @@ -1,10 +1,16 @@ + + + + + diff --git a/src/PersonalToolbox/MainWindow.xaml b/src/PersonalToolbox/MainWindow.xaml index d349f00..184e0ab 100644 --- a/src/PersonalToolbox/MainWindow.xaml +++ b/src/PersonalToolbox/MainWindow.xaml @@ -13,7 +13,7 @@ Background="{StaticResource AppBackgroundBrush}" Loaded="Window_OnLoaded" Closing="Window_OnClosing"> - + @@ -100,14 +100,32 @@ Margin="0,10,0,10" ItemsSource="{Binding Categories}" SelectedItem="{Binding SelectedCategory}" + AllowDrop="True" BorderThickness="0" - ToolTip="单击切换分类;搜索时会跨分类显示结果。"> + ToolTip="单击切换分类;搜索时会跨分类显示结果。可拖拽分类排序,也可把工具拖到分类中。" + PreviewMouseLeftButtonDown="CategoryListBox_OnPreviewMouseLeftButtonDown" + MouseMove="CategoryListBox_OnMouseMove" + Drop="CategoryListBox_OnDrop"> - + + + + + + @@ -120,6 +138,10 @@ Margin="0,8,0,0" Command="{Binding RenameCategoryCommand}" ToolTip="重命名当前选中的分类。" /> +