From 38e91b474734b126d277cb12da9adfde392e5713 Mon Sep 17 00:00:00 2001 From: chengma Date: Mon, 20 Jul 2026 09:45:26 +0800 Subject: [PATCH] docs(tasks): add left-click gallery task --- docs/tasks/T-668.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/tasks/T-668.md diff --git a/docs/tasks/T-668.md b/docs/tasks/T-668.md new file mode 100644 index 0000000..420c6cb --- /dev/null +++ b/docs/tasks/T-668.md @@ -0,0 +1,46 @@ +--- +id: T-668 +title: AI生成图片画廊仅响应左键双击 +status: TODO +phase: 7 +deps: [] +created: 2026-07-20 +--- + +# T-668 AI生成图片画廊仅响应左键双击 + +## 问题 / 背景 + +②「AI生成」任务列表当前直接把 `QTableView.doubleClicked` 连接到封面画廊打开逻辑。该信号只传递单元格索引,不携带鼠标按键;右键双击命中任务行时也会触发同一回调,意外弹出图片查看窗口。右键应保留给未来的右键菜单或保持无操作,不能打开画廊。 + +## 方案 + +- 在 `app/gui/tabs/generate.py` 为②任务表增加局部的左键双击事件入口:从原始鼠标双击事件读取 `event.button()`,仅当按键为 `Qt.LeftButton` 时取得命中行并调用现有 `show_task_images()`。 +- 移除 `task_table.doubleClicked.connect(self.show_task_images)` 这条通用信号连接,避免表格默认双击信号绕过按键判断;不修改其他模块的表格双击行为。 +- 右键双击继续交给 Qt 的默认事件处理,但不得打开图片画廊、不得修改当前生成结果、不得显示错误提示。键盘切换行、单击选中行和新标题编辑列的既有逻辑保持不变。 +- 将②任务列表相关提示文案明确为「左键双击」,避免用户误以为任何双击都会打开画廊。 + +## 验收标准 + +- [ ] 左键双击②任务列表的非新标题编辑列时,仍打开当前行的封面图片画廊。 +- [ ] 右键双击同一行或空白区域时,不打开图片画廊、不保存或重置任何数据。 +- [ ] 新标题编辑列继续不打开图片画廊;单击选中、键盘上下切换、封面候选图保存及③更新蝦皮不回归。 +- [ ] `tests/test_gui.py` 覆盖左键双击会调用预览、右键双击不会调用预览。 + +## 验证 + +```bash +py -3.10 -m unittest discover -s tests -p "test_gui.py" +py -3.10 -m ruff check app tests main.py +py -3.10 -m compileall app main.py +git diff --check +``` + +## 非目标 + +- 不新增右键菜单、批量操作或快捷键。 +- 不改数据库、AI 生成、图片下载、CDP/Shopee、Excel 或③更新流程。 + +## 执行记录 + +- 待实现。