fix(sidebar): 补 TaskQueueWidget 漏掉的 loadTask + 右键菜单
承认上次盘点不全 — 只看了 image_generator.py,没看 task_queue.py 的
TaskQueueWidget,这两个旧功能漏了:
# 1. 左键任务项 → 回填到对应 tab(旧 _on_task_item_clicked + _load_task_to_main_window)
task_queue.py:
Task 加 result_path 字段,已完成任务保留生成图绝对路径供 sidebar 回显
bridges/imagegen.py:
- submitTask 拆出 _do_submit;新增 submitStyleTask(task_type=STYLE_DESIGN)
StyleDesignerTab.submit 改调 submitStyleTask,让 sidebar 知道任务来源
- _on_completed 写回 task.result_path(=生成图 history 路径),不依赖 bytes
bridges/taskqueue.py:
+ Signal taskLoadRequested(payload)
+ Slot loadTask(task_id) → 拿 task → 反查 mode(model_id → 极速/慢速)
+ 过滤已删参考图 + 已完成才带 resultPath → emit payload
qml_poc/qml/MainWindow.qml:
sidebar delegate 左键 → taskQueue.loadTask;右键 → 弹 Menu(不直接取消)
qml_poc/qml/ImageGenTab.qml:
Connections 接 taskQueue.taskLoadRequested,type=image_gen 时回填
prompt / refImages / aspect / size / mode / resultPath,并切到 tab 0
qml_poc/qml/StyleDesignerTab.qml:
Connections 接同信号,type=style_design 时回填 assembledPrompt + resultPath,
切到 tab 1(注:8 字段 ComboBox 无法反序列化回填,旧版 prompt_preview 行为一致)
# 2. 右键弹菜单(旧 _show_context_menu,不是直接取消)
之前一版我做的"右键直接取消"是错的。改成右键 popup Menu,包含 "取消任务" /
"取消任务(运行中)" MenuItem,用户点击 MenuItem 才真取消。
status 不是 pending/running 时 MenuItem disabled。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Showing
6 changed files
with
171 additions
and
15 deletions
-
Please register or sign in to post a comment