From ce151940fa69355c357faea91bd01e8c94b2e64f Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 17 Aug 2025 13:17:16 +0800 Subject: clip: recognize more types --- launcher/components/Clip.qml | 4 ++-- services/Clip.qml | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/launcher/components/Clip.qml b/launcher/components/Clip.qml index c342d44..2f709e9 100644 --- a/launcher/components/Clip.qml +++ b/launcher/components/Clip.qml @@ -101,7 +101,7 @@ IComponent { Column { Loader { - sourceComponent: modelData?.isImage ? img : text + sourceComponent: modelData?.type === "image" ? img : text readonly property Component text: IText { text: modelData?.data || "" font.pixelSize: Style.font.size.largerr @@ -113,7 +113,7 @@ IComponent { Row { spacing: Launcher.innerMargin IText { - text: modelData.isImage ? "Image" : "Text" + text: modelData.type color: Colors.foreground3 font.pixelSize: Style.font.size.normal } diff --git a/services/Clip.qml b/services/Clip.qml index 622b293..4b289a0 100644 --- a/services/Clip.qml +++ b/services/Clip.qml @@ -21,6 +21,17 @@ Searchable { property var _clipMetadata: ({}) + function getType(text: string): string { + if (!text) + return; + if (text.startsWith("http://") || text.startsWith("https://")) + return "web"; + if (text.startsWith("file://")) + return "file"; + + return "text"; + } + list: { if (!_clipHist?.length) return []; @@ -50,7 +61,7 @@ Searchable { return { index: idNum, - isImage: isImg, + type: isImg ? "image" : root.getType(payload), data: isImg ? imgPath : payload, raw: raw, timestamp: metadata.timestamp || "", -- cgit v1.2.3