fix(gui): keep cover candidate controls below images
This commit is contained in:
+8
-2
@@ -3,7 +3,7 @@ id: T-629
|
||||
title: ②封面画廊切换记录后候选勾选区自适应布局修复
|
||||
phase: 7
|
||||
deps: [T-626]
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-14
|
||||
---
|
||||
|
||||
@@ -88,4 +88,10 @@ created: 2026-07-14
|
||||
|
||||
## 执行记录
|
||||
|
||||
- 待实现。
|
||||
- 2026-07-14:完成 T-629。
|
||||
- 复现确认:从单候选切换到 6 张候选时,旧实现把候选内容高度暂时设为图片高度 `360px`,但完整卡片实际需要 `402px`,导致勾选框被压到图片内部;延迟 resize timer 执行后才可能恢复。
|
||||
- `app/gui/tabs/generate.py`:新增内部候选卡片组件,统一按图片、勾选框、说明文字、margin 和 spacing 的实际尺寸计算固定卡片高度;内容容器按所有卡片真实宽高同步尺寸,候选卡片顶部对齐。
|
||||
- 任务切换和候选重建后立即按新候选数量及当前 viewport 强制重算图片与完整卡片尺寸,不再依赖约 `60ms` timer 才获得正确布局;切换记录时同时重置横向滚动位置,窗口连续 resize 仍保留合并重绘。
|
||||
- 非当前候选的可见名称改为「候选 N」,完整文件名保留在中文 tooltip,避免长文件名干扰尺寸;损坏图片继续使用固定图片区和「图片读取失败」占位。
|
||||
- `tests/test_gui.py`:新增真实 `↓` 键切换回归测试,覆盖单候选到多候选、长文件名、损坏图片、切换同步阶段、Qt 事件处理后、横向滚动复位和往返切换;逐卡断言图片、勾选框、说明文字及横向卡片几何不重叠。
|
||||
- 当前工作区运行 `tests.test_gui` 时,仅有任务开始前已存在的默认封面提示词 `papa1.txt` 改名造成的 2 项旧断言失败;未回退用户改动。在只包含 T-629 三个文件的隔离 worktree 中验证通过:`py -3.10 -m unittest tests.test_gui`(182 项)、`py -3.10 -m unittest discover -s tests`(462 项)、`python -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。
|
||||
|
||||
Reference in New Issue
Block a user