Files
cmshoppe/docs/tasks/T-668.md
T

2.1 KiB

id, title, status, phase, deps, created
id title status phase deps created
T-668 AI生成图片画廊仅响应左键双击 TODO 7
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 覆盖左键双击会调用预览、右键双击不会调用预览。

验证

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 或③更新流程。

执行记录

  • 待实现。