feat(qml): task #14b 参考图录入(添加 / 粘贴 / 拖拽)
ImageGenBridge 加 2 个 Slot: - pasteFromClipboard() → str 从 QGuiApplication.clipboard() 拿 image,存到 tempdir/nano_banana_app/clipboard_*.png (与旧 _cleanup_clipboard_tempfiles 同目录,启动期统一 24h 清理) 失败返回 "" - normalizeFileUrls(urls list) → list 把 QML DropArea 给的 file:/// QUrl 列表转本地路径,过滤非图扩展名 (.png/.jpg/.jpeg/.webp/.bmp) ImageGenTab.qml: - import QtQuick.Dialogs 引入 FileDialog (现代 QML6 module) - "添加图片" → addImageDialog.open() (multi-select 图片) - "粘贴图片" → imageGen.pasteFromClipboard(),无图时状态变橙色"剪贴板没有图片" - 拖拽区 DropArea 接 text/uri-list,containsDrag 时边框变 accent + 底色变 accentSubtle drop 后调 imageGen.normalizeFileUrls(drop.urls) 拿本地路径 - 已选图缩略图 Flow: ScrollView + Repeater 96×96 圆角缩略图 + 右上角红色 × 删除按钮 - addRefPath/addRefPaths/removeRefAt 三个辅助函数处理状态去重和增量 未做(task #14c/d): - 提示词收藏 / 删除 saved_prompts 持久化 - 下载图片 + 双击预览打开系统查看器 视觉验证:QML_AUTO_LOGIN=1 启动主窗口,参考图区按钮全 enabled,UI 无回归。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Showing
2 changed files
with
161 additions
and
6 deletions
-
Please register or sign in to post a comment