diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-09 13:33:09 +0200 |
| commit | a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 (patch) | |
| tree | 1a8769217f84bfe9d6216fafaadaf8cdd876d457 /raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml | |
| parent | 34b9c34f982b2596cfa9e368a2d7f74e9a17477c (diff) | |
| download | RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.tar.gz RaveOS-PKGBUILD-a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml deleted file mode 100644 index 6142692..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml +++ /dev/null @@ -1,151 +0,0 @@ -import QtQuick -import Quickshell -import qs.Common -import qs.Services -import qs.Widgets -import qs.Modules.Plugins - -PluginComponent { - id: root - - layerNamespacePlugin: "emoji-cycler" - - property var enabledEmojis: pluginData.emojis || ["๐", "๐ข", "โค๏ธ"] - property int cycleInterval: pluginData.cycleInterval || 3000 - property int maxBarEmojis: pluginData.maxBarEmojis || 3 - - property int currentIndex: 0 - property var displayedEmojis: [] - - Timer { - interval: root.cycleInterval - running: true - repeat: true - onTriggered: { - if (root.enabledEmojis.length > 0) { - root.currentIndex = (root.currentIndex + 1) % root.enabledEmojis.length - root.updateDisplayedEmojis() - } - } - } - - function updateDisplayedEmojis() { - const maxToShow = Math.min(root.maxBarEmojis, root.enabledEmojis.length) - let emojis = [] - for (let i = 0; i < maxToShow; i++) { - const idx = (root.currentIndex + i) % root.enabledEmojis.length - emojis.push(root.enabledEmojis[idx]) - } - root.displayedEmojis = emojis - } - - Component.onCompleted: { - updateDisplayedEmojis() - } - - onEnabledEmojisChanged: updateDisplayedEmojis() - onMaxBarEmojisChanged: updateDisplayedEmojis() - - horizontalBarPill: Component { - Row { - id: emojiRow - spacing: Theme.spacingXS - - Repeater { - model: root.displayedEmojis - StyledText { - text: modelData - font.pixelSize: Theme.fontSizeLarge - } - } - } - } - - verticalBarPill: Component { - Column { - id: emojiColumn - spacing: Theme.spacingXS - - Repeater { - model: root.displayedEmojis - StyledText { - text: modelData - font.pixelSize: Theme.fontSizeMedium - anchors.horizontalCenter: parent.horizontalCenter - } - } - } - } - - popoutContent: Component { - PopoutComponent { - id: popoutColumn - - headerText: "Emoji Picker" - detailsText: "Click an emoji to copy it to clipboard" - showCloseButton: true - - property var allEmojis: [ - "๐", "๐", "๐", "๐", "๐", "๐
", "๐คฃ", "๐", "๐", "๐", - "๐", "๐", "๐", "๐ฅฐ", "๐", "๐คฉ", "๐", "๐", "๐", "๐", - "๐", "๐", "๐", "๐คช", "๐", "๐ค", "๐ค", "๐คญ", "๐คซ", "๐ค", - "๐ค", "๐คจ", "๐", "๐", "๐ถ", "๐", "๐", "๐", "๐ฌ", "๐คฅ", - "๐", "๐", "๐ช", "๐คค", "๐ด", "๐ท", "๐ค", "๐ค", "๐คข", "๐คฎ", - "๐คง", "๐ฅต", "๐ฅถ", "๐ถโ๐ซ๏ธ", "๐ต", "๐ตโ๐ซ", "๐คฏ", "๐ค ", "๐ฅณ", "๐", - "๐ค", "๐ง", "๐", "๐", "๐", "โน๏ธ", "๐ฎ", "๐ฏ", "๐ฒ", "๐ณ", - "๐ฅบ", "๐ฆ", "๐ง", "๐จ", "๐ฐ", "๐ฅ", "๐ข", "๐ญ", "๐ฑ", "๐", - "๐ฃ", "๐", "๐", "๐ฉ", "๐ซ", "๐ฅฑ", "๐ค", "๐ก", "๐ ", "๐คฌ", - "โค๏ธ", "๐งก", "๐", "๐", "๐", "๐", "๐ค", "๐ค", "๐ค", "๐", - "โค๏ธโ๐ฅ", "โค๏ธโ๐ฉน", "๐", "๐", "๐", "๐", "๐", "๐", "๐", "๐", - "๐", "๐", "๐", "โ", "๐ค", "๐ค", "๐ค", "โ๏ธ", "๐ค", "๐ค", - "๐", "๐ค", "๐ค", "๐", "๐", "๐", "๐", "โ๏ธ", "โ", "๐ค" - ] - - Item { - width: parent.width - implicitHeight: root.popoutHeight - popoutColumn.headerHeight - popoutColumn.detailsHeight - Theme.spacingXL - - DankGridView { - id: emojiGrid - anchors.horizontalCenter: parent.horizontalCenter - width: Math.floor(parent.width / 50) * 50 - height: parent.height - clip: true - cellWidth: 50 - cellHeight: 50 - model: popoutColumn.allEmojis - - delegate: StyledRect { - width: 45 - height: 45 - radius: Theme.cornerRadius - color: emojiMouseArea.containsMouse ? Theme.surfaceContainerHighest : Theme.surfaceContainerHigh - border.width: 0 - - StyledText { - anchors.centerIn: parent - text: modelData - font.pixelSize: Theme.fontSizeXLarge - } - - MouseArea { - id: emojiMouseArea - anchors.fill: parent - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - - onClicked: { - Quickshell.execDetached(["dms", "cl", "copy", modelData]) - ToastService.showInfo("Copied " + modelData + " to clipboard") - popoutColumn.closePopout() - } - } - } - } - } - } - } - - popoutWidth: 400 - popoutHeight: 500 -} |