feat: persist template/batch-mode, per-aspect resets, de-dup template actions

§17.1 Preferences persistence:
- Wire the previously-unused config_service; remember and restore the
  last-selected template and last batch mode. main_window loads config,
  distributes initial values, then persists on change (save-on-change).
- template_panel: template_changed signal, select_template,
  current_template_state. queue_panel: set_batch_mode + batch_mode_changed.

§17.2 Independent resets:
- Replace the combined reset and 归零 with per-section 位置/尺寸/旋转 reset
  buttons (quiet ghost styling) that restore only their own aspect to the
  selected template. Size reset changes width/height only, leaving X/Y.

Button de-dup:
- Remove the export panel's 应用为模板 / 重置为模板 — literal duplicates of
  the template panel's 另存为 / 重置为模板. Template actions now live only
  in the template area; the export panel handles output only.

Docs: PRD (6.6/6.9/9/10), architecture (4.12), UI design (7.x/10),
development-rules (6, single-home actions + consistent naming), tasks.md (17).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 17:01:58 +08:00
co-authored by Claude Opus 4.8
parent 69a6dc892a
commit f767ec2660
11 changed files with 300 additions and 115 deletions
+4
View File
@@ -88,6 +88,9 @@
- 用户通过参数输入框修改坐标、尺寸、角度后,预览必须同步更新。
- 批量处理时界面不能长时间无响应。
- 失败、缺文件、格式不支持、导出失败等情况必须给出用户可理解的提示。
- 同一个动作只应有一个入口;确需在多处触发时,必须使用同一个名称,且指向同一个实现。
- 「某个动作放在哪个面板」是一次性决定,不在每个面板各自重复设置。
- 逐面板实现 UI 后,应做一次跨面板整体走查,确认没有重复入口或同义不同名的按钮。
禁止事项:
@@ -96,6 +99,7 @@
- 禁止让用户只能通过拖拽完成精确定位,必须保留参数输入能力。
- 禁止批量处理期间阻塞主界面且没有进度反馈。
- 禁止使用含糊错误提示,例如只显示“失败”。
- 禁止同一个动作在不同面板出现重复入口,或用不同名称表示同一个动作(例如「另存为」与「应用为模板」)。
## 7. 配置与模板规则