summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-05-08 19:50:49 +0200
committerNippy <nippy@rp1.hu>2026-05-08 19:50:49 +0200
commit3462bcc46ecf74f576ea4397f16492c16bd75b10 (patch)
treec5ab7aef4498647e057bda8d49c11e5f9dda74c9 /raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml
parent56616f693b4f263cbf0d47da43b67424efa6022d (diff)
downloadRaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.tar.gz
RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.zip
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml113
1 files changed, 113 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml b/raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml
new file mode 100644
index 0000000..2e85570
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/dms/PLUGINS/LauncherImageExample/LauncherImageExample.qml
@@ -0,0 +1,113 @@
+import QtQuick
+import Quickshell
+import qs.Services
+
+QtObject {
+ id: root
+
+ property var pluginService: null
+ property string trigger: "img"
+
+ signal itemsChanged
+
+ readonly property var images: [
+ {
+ name: "DankDash",
+ imageUrl: "https://danklinux.com/img/dankdash.png",
+ comment: "DankMaterialShell Dashboard"
+ },
+ {
+ name: "Control Center",
+ imageUrl: "https://danklinux.com/img/cc.png",
+ comment: "System Control Center"
+ },
+ {
+ name: "Desktop",
+ imageUrl: "https://danklinux.com/img/desktop.png",
+ comment: "Desktop Environment"
+ },
+ {
+ name: "Search",
+ imageUrl: "https://danklinux.com/img/dsearch.png",
+ comment: "Application Search"
+ },
+ {
+ name: "Theme Registry",
+ imageUrl: "https://danklinux.com/img/blog/v1.2/themeregistry.png",
+ comment: "Theme Registry Browser"
+ },
+ {
+ name: "Monitor Settings",
+ imageUrl: "https://danklinux.com/img/blog/v1.2/monitordark.png",
+ comment: "Display Configuration"
+ }
+ ]
+
+ function getItems(query) {
+ const lowerQuery = query ? query.toLowerCase().trim() : "";
+
+ if (lowerQuery.length === 0) {
+ return images.map(img => ({
+ name: img.name,
+ icon: "material:image",
+ comment: img.comment,
+ action: "view:" + img.imageUrl,
+ categories: ["Image Gallery"],
+ imageUrl: img.imageUrl
+ }));
+ }
+
+ return images.filter(img => img.name.toLowerCase().includes(lowerQuery) || img.comment.toLowerCase().includes(lowerQuery)).map(img => ({
+ name: img.name,
+ icon: "material:image",
+ comment: img.comment,
+ action: "view:" + img.imageUrl,
+ categories: ["Image Gallery"],
+ imageUrl: img.imageUrl
+ }));
+ }
+
+ function executeItem(item) {
+ if (!item?.action)
+ return;
+ const actionParts = item.action.split(":");
+ const actionType = actionParts[0];
+ const actionData = actionParts.slice(1).join(":");
+
+ if (actionType === "view") {
+ if (typeof ToastService !== "undefined") {
+ ToastService.showInfo("Image Gallery", "Viewing: " + item.name);
+ }
+ }
+ }
+
+ function getContextMenuActions(item) {
+ if (!item)
+ return [];
+ return [
+ {
+ icon: "open_in_new",
+ text: "Open in Browser",
+ action: () => {
+ const url = item.imageUrl || "";
+ if (url) {
+ Qt.openUrlExternally(url);
+ }
+ }
+ },
+ {
+ icon: "content_copy",
+ text: "Copy URL",
+ action: () => {
+ const url = item.imageUrl || "";
+ if (url) {
+ Quickshell.execDetached(["dms", "cl", "copy", url]);
+ if (typeof ToastService !== "undefined") {
+ ToastService.showInfo("Copied", url);
+ }
+ }
+ }
+ }
+ ];
+ }
+}