|
|
2c985e8d63
|
Phase 6: 一键多开 (工具组合) 功能
- 数据模型: ToolItem 新增 IsGroup(bool) + SubToolIds(List<string>) 字段
- 执行逻辑: ProcessExecutionService 改为 ExecuteAsync, 组合卡片遍历子工具逐一启动(500ms延迟), 孤儿ID跳过并打印警告
- 组合编辑: GroupEditViewModel + GroupEditWindow, 复选框列表勾选非组合工具
- 主界面: 标题栏新增 '+添加组合' 按钮(蓝色), 组合卡片右下角显示 📦 角标
- 右键菜单: 区分 '编辑工具' (普通) 和 '编辑组合' (IsGroup=true)
- 快捷键: HotKeyManager 适配 ExecuteAsync 异步调用
- 测试: 82 tests total (ProcessExecution 4->6, GroupEdit 5 new)
|
2026-05-10 00:15:39 +08:00 |
|
|
|
71be5da54b
|
Phase 2-3: UI layout, theme switching, CRUD tools, process execution
- Phase 2: MainWindow 3-section layout (sidebar/content/log bar), Dark/Light theme with ThemeHelper, MainViewModel with ObservableProperty/RelayCommand, tool card filtering by search + category
- Phase 3: ToolEditWindow for add/edit tools, ProcessExecutionService (Process.Start + error handling), double-click + right-click context menu (run/edit), path browse dialog
- Bugfix: ContextMenu commands now use PlacementTarget.Tag binding (ContextMenu in separate visual tree)
- Bugfix: StaticResource converters moved to XAML before DataTemplate to fix XamlParseException on tool card render
- Bugfix: Pure filenames (no path separators) treated as PATH commands, not marked invalid
- Bugfix: RefreshData preserves SelectedCategory; Load() catches all exceptions; Save() wrapped in try-catch; auto-scroll log to newest entry
- Tests: xUnit project with 55 tests covering models, services, converters, and view models
|
2026-05-09 21:52:31 +08:00 |
|
|
|
752f09a7e4
|
Phase 1: data models and local storage service
- Add Models: Category, ToolItem (IsValid runtime-only, not stored), AppConfig
- Add Services: IDataService + JsonDataService (JSON load/save)
- Path validation on Load(): File.Exists check, logs warning for missing paths
- Startup: auto-calls dataService.Load() to load config
|
2026-05-09 20:34:36 +08:00 |
|
|
|
875e331116
|
Phase 0: 项目初始化与基础架构
- 创建 .NET 8 WPF 项目 PersonalToolBox
- 引入 NuGet 包: CommunityToolkit.Mvvm, System.Text.Json, Microsoft.Extensions.DependencyInjection
- 建立 MVVM 目录结构: Models/ ViewModels/ Views/ Services/ Helpers/
- 实现 LogEntry 模型 (时间/日志级别/内容)
- 实现 ILogService 接口与 LogService (线程安全, 通过 Dispatcher 推送到 UI)
- 配置 DI 容器 (App.xaml.cs) 注册日志服务和主窗口
- 添加 .gitignore 文件
|
2026-05-09 20:26:51 +08:00 |
|