双击图片预览改走 subprocess open: 5 处统一调系统默认应用
旧实现 Qt.openUrlExternally("file:///" + path) 在 macOS 26+ 不弹
Preview.app — 用户反馈"双击预览大图功能没了"的根因 (Qt URL 解析
+ launch services 双层间接). 中间过渡试过应用内 ImagePreviewDialog,
但缺缩放 / 全屏 / 方向键浏览, 不如系统预览方便.
修法: AppState 加 openExternalFile(path) Slot, 内部 subprocess.Popen
(macOS open / Windows os.startfile / Linux xdg-open). 与
HistoryBridge.revealInExplorer 同款路径, prod 已验.
5 处双击全切到 appState.openExternalFile:
- ImageGenTab 参考图 (TapHandler.onDoubleTapped) + 生成图 (MouseArea)
- StyleDesignerTab 生成图
- HistoryTab 详情大图 + 参考图卡片
中间过渡产物 components/ImagePreviewDialog.qml 已删 (从未 git track),
3 tab 顶部各一个实例化删. 系统 Preview.app 自带缩放 / 全屏 / 方向键 /
标记 / 分享, 远胜自实现 Dialog. Linus 消除特殊情况.
闪退维度复核:
- subprocess.Popen fire-and-forget, 不阻塞主线程
- 不传 bytes, 不动 Qt clipboard / NSPasteboard / NSImage
- path 不存在仅 logger.warning, 不抛
- macOS 用户已实测全部 5 处弹出 Preview.app
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Showing
4 changed files
with
35 additions
and
5 deletions
-
Please register or sign in to post a comment