feat(gui): add shared zoomable image preview
This commit is contained in:
+6
-3
@@ -3,7 +3,7 @@ id: T-610
|
||||
title: AI工场原图预览默认适应窗口并支持缩放查看
|
||||
phase: 7
|
||||
deps: [T-609]
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-11
|
||||
---
|
||||
|
||||
@@ -19,7 +19,7 @@ created: 2026-07-11
|
||||
|
||||
### 1. 默认适应窗口显示完整图片
|
||||
|
||||
修改 `app/gui/tabs/image_studio.py` 中的 `ImageStudioPreviewDialog`:
|
||||
修改旧兼容 `app/gui/tabs/image_studio.py` 中的 `ImageStudioPreviewDialog`,并同步当前正式第六 Tab 使用的 `app/gui/tabs/product_suite.py::ProductSuitePreviewDialog`。两者复用同一个原生 PySide6 预览组件,避免只修复已隐藏的旧「AI工场」入口:
|
||||
|
||||
- 保留完整原始 `QPixmap`,不读取缩略图缓存、不重新下载、不修改本地图片。
|
||||
- 对可用图片,预览首次打开默认使用「适应窗口」模式:按 `QScrollArea.viewport()` 的实际可用尺寸等比缩放,保持原始比例,不裁切、不拉伸变形。
|
||||
@@ -88,4 +88,7 @@ git diff --check
|
||||
|
||||
## 执行记录
|
||||
|
||||
- 待执行。
|
||||
- 2026-07-16:新增 `app/gui/image_preview.py::ImagePreviewDialog`,保留完整本地图像,默认等比适应窗口且小图不放大;提供适应窗口、100%、缩小、放大和 25%~400% 固定倍率,固定倍率下窗口 resize 不重置,超大图片在适应模式下可低于 25% 以保证完整显示。
|
||||
- 2026-07-16:旧兼容 `ImageStudioPreviewDialog` 与当前正式第六 Tab 的 `ProductSuitePreviewDialog` 改为复用同一预览组件;标题只显示中文上下文和原始分辨率,文件缺失时显示中文空状态并禁用缩放,不暴露本地路径。
|
||||
- 2026-07-16:`tests/test_gui.py` 新增默认适应、100% 滚动查看、固定倍率 resize、缩放边界、小图不放大、旧入口复用和缺失文件回归测试。
|
||||
- 验证:当前工作区定向 3 项 GUI 测试通过,ruff、compileall、`git diff --check` 通过;当前工作区全量测试仅受任务开始前未提交的默认封面提示词改名影响而失败 3 项。将本任务文件复制到基于 `HEAD` 的隔离 worktree 后,`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`py -3.10 -m unittest discover -s tests`(498 项)和 `git diff --check` 全部通过。
|
||||
|
||||
Reference in New Issue
Block a user