feat: hide preview controls on empty click

This commit is contained in:
2026-07-04 17:39:33 +08:00
parent 2ca0655c90
commit c40de68379
4 changed files with 43 additions and 0 deletions
+26
View File
@@ -1675,3 +1675,29 @@
- [x] 控制层隐藏后再次点击印花,控制层恢复,并可继续拖动、缩放、旋转
- [x] 控制层显隐不改变 X/Y、宽高、角度,也不影响单张导出和批量导出
- [x] 通过必要语法检查和离屏 GUI 验证:`python -m py_compile src/app/widgets/image_canvas.py tests/test_image_canvas.py`、`python tests/test_image_canvas.py`
### 19.35 添加印花预览:点击空白区域隐藏控制层 — docs/08 §5.1
前置阅读:
- `docs/08-image-editor-design.md`(§5.1 预览控制层显隐)
- `src/app/widgets/image_canvas.py`(`_hit_test`、`_on_press`、`_hide_controls`)
- `tests/test_image_canvas.py`
背景:
§19.34 已支持按 `Esc` 隐藏选中框和控制点。用户继续要求:点击图片两边的灰色预览区域时,也能隐藏当前印花的选中框和控制点,便于快速查看接近最终导出的干净预览。
任务:
- [x] 文档:补充点击未命中印花 / 控制点的预览空白区域时隐藏控制层
- [x] `image_canvas.py`:`_on_press` 命中测试为空时调用 `_hide_controls()`,不启动拖动
- [x] `image_canvas.py`:点击空白区域只隐藏控制层,不隐藏 `_print_item`,不修改 `TransformState`
- [x] 测试:补充点击空白 scene 坐标隐藏控制层且状态不变
验收:
- [x] 控制层显示时,点击预览两侧灰色区域会隐藏选中框、缩放控制点和旋转控制点
- [x] 点击空白区域后印花图片仍显示,X/Y、宽高、角度不变
- [x] 点击印花图片仍恢复控制层并保持原有拖动行为
- [x] 验证:`python -m py_compile src/app/widgets/image_canvas.py tests/test_image_canvas.py`、`python tests/test_image_canvas.py`