Skip to content

Commit 544c729

Browse files
Feat: Merging the DesktopEntry Utils
Fix: LLVM/Windows Compiler Issue; Broken Tests
1 parent a0ffc6d commit 544c729

6 files changed

Lines changed: 138 additions & 77 deletions

File tree

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ message("Including Requested CMake Dependencies OK")
1212
include(cmake/check_toolchain.cmake)
1313

1414
project(CFDesktop
15-
VERSION 0.11.0
15+
VERSION 0.12.0
1616
DESCRIPTION "CFDesktop: Given Your Device Portable Desktop Anywhere"
1717
HOMEPAGE_URL "https://github.com/Awesome-Embedded-Learning-Studio/CFDesktop"
1818
LANGUAGES CXX C

README.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 为嵌入式设备打造的现代化 Material Design 3 桌面框架
66

7-
[![License: MIT][license-badge]] [![Version: 0.11.0][version-badge]]
7+
[![License: MIT][license-badge]] [![Version: 0.12.0][version-badge]]
88
[![C++23][cpp-badge]] [![Qt 6.8][qt-badge]] [![CMake][cmake-badge]]
99
[![Documentation][docs-badge]]
1010

@@ -40,10 +40,10 @@
4040
| 阶段 | 模块 | 完成度 | 说明 |
4141
|:---|:---|:---:|:---|
4242
| Phase 0 | 工程骨架 | 100% | CMake 构建系统、代码规范、CI/CD、Docker 多架构构建 |
43-
| Phase 1 | 硬件探针 | 100% | CPU/Memory/GPU/网络检测 完成|
44-
| Phase 2 | Base 库核心 | 85% | ConfigStore、Logger、DPI、ASCII Art、File Operations |
45-
| Phase 5 | 测试体系 | 30% | Google Test 集成,base/ui 有覆盖,desktop 待补充 |
46-
| Phase 6 | UI 框架核心 | 95% | Material Design 3 分层架构 (Layer 1-5) |
43+
| Phase 1 | 硬件探针 | 90% | CPU/Memory/GPU/网络检测完成,缺HWTier/Policy |
44+
| Phase 2 | Base 库核心 | 80% | ConfigStore、Logger、DPI基础转换(ui/base)、ASCII Art、File Operations |
45+
| Phase 5 | 测试体系 | 55% | Google Test 集成,base/logger/ui基础有覆盖 |
46+
| Phase 6 | UI 框架核心 | 75% | Material Design 3 分层架构 (Layer 1-4),缺布局/手势 |
4747
| Phase 6 | P0 核心控件 | 100% | Button, TextField, TextArea, Label, CheckBox, RadioButton, GroupBox |
4848
| Phase 6 | P1 控件 | 100% | Slider, ProgressBar, Switch, ToggleButton, etc. (12个) |
4949
| Desktop | 桌面基础 | 80% | 配置中心、日志系统、启动初始化、文件操作 |
@@ -52,30 +52,34 @@
5252

5353
| 阶段 | 模块 | 完成度 | 说明 |
5454
|:---|:---|:---:|:---|
55-
| Phase 2 | 配置日志增强 | 80% | 缺版本控制、迁移、验证、网络日志 |
56-
| Desktop | 桌面的基础组件 | 0% | 目前只有Console的欢迎 |
55+
| Phase 2 | 配置日志增强 | 80% | DPI基础转换已有(ui/base),缺自动检测/版本控制/迁移/验证/网络日志 |
56+
| Phase 5 | UI控件测试 | 0% | 19个P0/P1控件无单元测试 |
57+
| Desktop | 桌面的基础组件 | 10% | Console欢迎完成,PanelManager/ShellLayer空缺 |
5758

5859
### 待开始 ⬜
5960

6061
| 阶段 | 模块 | 说明 |
6162
|:---|:---|:---|
6263
| Phase 1 | 硬件探针完善 | HWTier 档位、CapabilityPolicy |
64+
| Phase 6 | 布局系统 | Grid、Stack、ConstraintLayout |
65+
| Phase 6 | 手势识别 | 触摸/手势统一接口 |
6366
| Phase 3 | 输入抽象层 | 触摸/按键/旋钮/手势统一接口 |
6467
| Phase 4 | 多平台模拟器 | 开发调试用模拟器、设备配置、DPI 注入 |
6568
| Phase 6 | P2 控件 | 27个高级控件 (DatePicker, MenuBar, Dialog, etc.) |
6669
| Phase 6 | P3 控件 | 25个专业控件 (SplitView, ChartView, etc.) |
6770
| Phase 5 | 测试完善 | desktop 模块、性能基准、UI 自动化 |
6871
| 文档 | API/示例补充 | 约40%文档缺失,50%示例缺失 |
6972

70-
### 快速统计
73+
### 快速统计 (2026-03-27 更新)
7174

72-
| 类别 | 完成度 |
73-
|:---|:---:|
74-
| UI 控件 (P0+P1) | 100% (19个) |
75-
| UI 控件 (P2+P3) | 0% (52个) |
76-
| 文档覆盖 | 60% |
77-
| 示例覆盖 | 50% |
78-
| 测试覆盖 | 30% |
75+
| 类别 | 完成度 | 说明 |
76+
|:---|:---:|:---|
77+
| UI 控件 (P0+P1) | 100% (19个) | 完整实现 |
78+
| UI 控件 (P2+P3) | 0% (52个) | 待开发 |
79+
| UI 控件测试 | 0% | **关键缺口** |
80+
| 文档覆盖 | 60% | ~268个文档 |
81+
| 示例覆盖 | 50% | ~80个示例 |
82+
| 测试覆盖 | 55% | Base/Logger良好,UI控件缺失 |
7983

8084
📋 **完整待办清单**: [TODO.md](TODO.md)
8185
📊 **详细状态报告**: [document/todo/done/PROJECT_STATUS_REPORT.md](document/todo/done/PROJECT_STATUS_REPORT.md)
@@ -224,7 +228,7 @@ cd CFDesktop
224228

225229
<!-- Badge Links -->
226230
[license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
227-
[version-badge]: https://img.shields.io/badge/version-0.11.0-blue.svg
231+
[version-badge]: https://img.shields.io/badge/version-0.12.0-blue.svg
228232
[cpp-badge]: https://img.shields.io/badge/C++-23-00599C.svg
229233
[qt-badge]: https://img.shields.io/badge/Qt-6.8-41CD52.svg
230234
[cmake-badge]: https://img.shields.io/badge/CMake-3.16+-064F8C.svg

document/todo/done/01_hardware_probe_status.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
> **模块ID**: Phase 1
44
> **状态**: 🚧 部分完成
5-
> **总体进度**: ~65%
6-
> **最后更新**: 2026-03-21
5+
> **总体进度**: ~90%
6+
> **最后更新**: 2026-03-27
77
88
---
99

@@ -32,10 +32,13 @@
3232

3333
| 模块 | 完成度 | 状态 |
3434
|------|--------|------|
35-
| CPUDetector | 80% | ✅ 核心功能已完成 |
36-
| MemoryDetector | 80% | ✅ 核心功能已完成 |
37-
| GPUDetector | 100% | ✅ 已完成 |
38-
| NetworkDetector | 100% | ✅ 已完成 |
35+
| CPUDetector | 100% | ✅ 完成 |
36+
| MemoryDetector | 95% | ✅ 完成 |
37+
| GPUDetector | 90% | ✅ 核心功能已完成 |
38+
| NetworkDetector | 85% | ✅ 核心功能已完成 |
39+
| HWTier 系统 | 0% | ❌ 待实现 |
40+
| CapabilityPolicy | 0% | ❌ 待实现 |
41+
| HardwareProbe 主类 | 0% | ❌ 待实现 |
3942

4043
---
4144

document/todo/done/05_testing_status.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Phase 5: 测试系统 - 状态文档
22

33
> **模块ID**: Phase 5
4-
> **状态**: 🚧 基础框架完成
5-
> **总体进度**: ~60%
6-
> **最后更新**: 2026-03-11
4+
> **状态**: 🚧 基础框架完成,UI控件测试缺失
5+
> **总体进度**: ~55%
6+
> **最后更新**: 2026-03-27
77
88
---
99

@@ -23,14 +23,16 @@
2323

2424
| 模块 | 测试文件数 | 覆盖率 | 状态 |
2525
|------|-----------:|-------:|------|
26-
| Base Utilities | 4 | 90% | ✅ Good |
27-
| UI Base | 6 | 85% | ✅ Good |
26+
| Base Utilities | 6 | 90% | ✅ Good |
27+
| UI Base | 6 | 60% | ⚠️ Fair |
2828
| UI Components | 5 | 60% | ⚠️ Fair |
2929
| UI Core | 1 | 30% | ❌ Poor |
30-
| UI Widgets | 0 | 0% |Missing |
30+
| UI Widgets | 0 | **0%** |**Critical** |
3131
| System Queries | 2 | 70% | ⚠️ Fair |
32-
| Boot Tests | 3 | 80% | ✅ Good |
33-
| **Overall** | **21** | **60%** | ⚠️ **Fair** |
32+
| Logger | 4 | 85% | ✅ Good |
33+
| ConfigManager | 1 | 80% | ✅ Good |
34+
| Desktop | 1 | 5% | ❌ Poor |
35+
| **Overall** | **26** | **55%** | ⚠️ **Fair** |
3436

3537
---
3638

@@ -143,11 +145,13 @@ test/
143145

144146
## 四、待完成模块
145147

146-
### 4.1 Widget 测试 (P0)
148+
### 4.1 Widget 测试 (P0 - Critical)
147149

148-
**状态**: 未实现
150+
**状态**: 完全未实现 (0%)
151+
152+
**关键缺口**: 19个P0/P1控件全部无单元测试
149153

150-
必需的 Material 控件测试:
154+
**P0 核心控件** (7个):
151155
- `button_test.cpp` - Button 控件测试
152156
- `textfield_test.cpp` - TextField 控件测试
153157
- `textarea_test.cpp` - TextArea 控件测试
@@ -156,6 +160,20 @@ test/
156160
- `label_test.cpp` - Label 控件测试
157161
- `groupbox_test.cpp` - GroupBox 控件测试
158162

163+
**P1 常用控件** (12个):
164+
- `slider_test.cpp` - Slider 控件测试
165+
- `progressbar_test.cpp` - ProgressBar 控件测试
166+
- `switch_test.cpp` - Switch 控件测试
167+
- `combobox_test.cpp` - ComboBox 控件测试
168+
- `spinbox_test.cpp` - SpinBox 控件测试
169+
- `doublespinbox_test.cpp` - DoubleSpinBox 控件测试
170+
- `listview_test.cpp` - ListView 控件测试
171+
- `treeview_test.cpp` - TreeView 控件测试
172+
- `tableview_test.cpp` - TableView 控件测试
173+
- `tabview_test.cpp` - TabView 控件测试
174+
- `scrollview_test.cpp` - ScrollView 控件测试
175+
- `separator_test.cpp` - Separator 控件测试
176+
159177
**目标路径**: `test/ui/widgets/`
160178

161179
### 4.2 Animation 测试 (P1)

document/todo/done/99_ui_material_framework_status.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Phase 6: UI Material 框架 - 状态文档
22

33
> **模块ID**: Phase 6
4-
> **状态**: 🚧 P1 控件完成,P2/P3 待开发
5-
> **总体进度**: 81%
6-
> **最后更新**: 2026-03-19
4+
> **状态**: 🚧 P1 控件完成,核心架构缺失
5+
> **总体进度**: 75%
6+
> **最后更新**: 2026-03-27
77
88
---
99

@@ -15,9 +15,10 @@
1515
Layer 6: Performance Profile (0%)
1616
Layer 5: Material Widget Adapter (P0: 100%, P1: 100%, P2: 0%, P3: 0%)
1717
Layer 4: Material Behavior Layer (100%)
18-
Layer 3: Animation Engine Layer (100%)
18+
Layer 3: Animation Engine Layer (90%) - 缺Rotate/Path动画
1919
Layer 2: Theme Engine Layer (100%)
2020
Layer 1: Core Math & Utility Layer (100%)
21+
Layer 0: Layout System (0%) - **新增:布局系统完全缺失**
2122
```
2223

2324
### 1.2 设计规则 (RULE-01 to RULE-09)
@@ -51,13 +52,14 @@ ui/base -> QtCore only (no QtWidgets/QtGui)
5152
|-------|------|--------|
5253
| Layer 1: Core Math & Utility || 100% |
5354
| Layer 2: Theme Engine || 100% |
54-
| Layer 3: Animation Engine | | 100% |
55+
| Layer 3: Animation Engine | ⚠️ | 90% |
5556
| Layer 4: Material Behavior || 100% |
5657
| Layer 5: P0 核心控件 || 100% (7/7) |
5758
| Layer 5: P1 常用控件 || 100% (12/12) |
5859
| Layer 5: P2 高级控件 || 0% (0/27) |
5960
| Layer 5: P3 专业控件 || 0% (0/25) |
6061
| Layer 6: Performance Profile || 0% |
62+
| Layer 0: Layout System || 0% (新增) |
6163

6264
---
6365

@@ -424,6 +426,24 @@ void Widget::paintEvent(QPaintEvent* event) {
424426
**ui/core 测试:**
425427
- [token_test.cpp](../../../test/ui/core/token_test.cpp)
426428

429+
### 关键缺口: UI控件测试
430+
431+
| 测试类型 | 状态 | 覆盖率 |
432+
|---------|------|-------|
433+
| UI Base 测试 || 60% |
434+
| UI Components 测试 || 60% |
435+
| UI Widgets 测试 || **0%** |
436+
| Widget 单元测试 || **0%** |
437+
438+
**急需补充**: 为19个P0/P1控件添加单元测试
439+
- button_test.cpp, textfield_test.cpp, textarea_test.cpp
440+
- checkbox_test.cpp, radiobutton_test.cpp, groupbox_test.cpp
441+
- label_test.cpp, slider_test.cpp, progressbar_test.cpp
442+
- switch_test.cpp, combobox_test.cpp, spinbox_test.cpp
443+
- doublespinbox_test.cpp, listview_test.cpp, treeview_test.cpp
444+
- tableview_test.cpp, tabview_test.cpp, scrollview_test.cpp
445+
- separator_test.cpp
446+
427447
---
428448

429449
## 七、关键文件路径

0 commit comments

Comments
 (0)