summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml97
1 files changed, 97 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml b/raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml
new file mode 100644
index 0000000..aa38bc9
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/dms/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml
@@ -0,0 +1,97 @@
+import QtQuick
+import qs.Common
+import qs.Widgets
+import qs.Modules.Plugins
+
+PluginSettings {
+ id: root
+ pluginId: "exampleEmojiPlugin"
+
+ // Header section to explain what this plugin does
+ StyledText {
+ width: parent.width
+ text: "Emoji Cycler Settings"
+ font.pixelSize: Theme.fontSizeLarge
+ font.weight: Font.Bold
+ color: Theme.surfaceText
+ }
+
+ StyledText {
+ width: parent.width
+ text: "Configure which emojis appear in your bar, how quickly they cycle, and how many show at once."
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceVariantText
+ wrapMode: Text.WordWrap
+ }
+
+ // Dropdown to select which emoji set to use
+ SelectionSetting {
+ settingKey: "emojiSet"
+ label: "Emoji Set"
+ description: "Choose which collection of emojis to cycle through"
+ options: [
+ {label: "Happy & Sad", value: "happySad"},
+ {label: "Hearts", value: "hearts"},
+ {label: "Hand Gestures", value: "hands"},
+ {label: "All Mixed", value: "mixed"}
+ ]
+ defaultValue: "happySad"
+
+ // Update the actual emoji array when selection changes
+ onValueChanged: {
+ const sets = {
+ "happySad": ["๐Ÿ˜Š", "๐Ÿ˜ข", "๐Ÿ˜‚", "๐Ÿ˜ญ", "๐Ÿ˜", "๐Ÿ˜ก"],
+ "hearts": ["โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐Ÿ–ค", "๐Ÿค"],
+ "hands": ["๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŒ๏ธ", "๐Ÿค˜", "๐Ÿ‘Œ", "โœ‹", "๐Ÿคš"],
+ "mixed": ["๐Ÿ˜Š", "โค๏ธ", "๐Ÿ‘", "๐ŸŽ‰", "๐Ÿ”ฅ", "โœจ", "๐ŸŒŸ", "๐Ÿ’ฏ"]
+ }
+ const newEmojis = sets[value] || sets["happySad"]
+ root.saveValue("emojis", newEmojis)
+ }
+
+ Component.onCompleted: {
+ // Initialize the emojis array on first load
+ const currentSet = value || defaultValue
+ const sets = {
+ "happySad": ["๐Ÿ˜Š", "๐Ÿ˜ข", "๐Ÿ˜‚", "๐Ÿ˜ญ", "๐Ÿ˜", "๐Ÿ˜ก"],
+ "hearts": ["โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐Ÿ–ค", "๐Ÿค"],
+ "hands": ["๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŒ๏ธ", "๐Ÿค˜", "๐Ÿ‘Œ", "โœ‹", "๐Ÿคš"],
+ "mixed": ["๐Ÿ˜Š", "โค๏ธ", "๐Ÿ‘", "๐ŸŽ‰", "๐Ÿ”ฅ", "โœจ", "๐ŸŒŸ", "๐Ÿ’ฏ"]
+ }
+ const emojis = sets[currentSet] || sets["happySad"]
+ root.saveValue("emojis", emojis)
+ }
+ }
+
+ // Slider to control how fast emojis cycle (in milliseconds)
+ SliderSetting {
+ settingKey: "cycleInterval"
+ label: "Cycle Speed"
+ description: "How quickly emojis rotate (in seconds)"
+ defaultValue: 3000
+ minimum: 500
+ maximum: 10000
+ unit: "ms"
+ leftIcon: "schedule"
+ }
+
+ // Slider to control max emojis shown in the bar
+ SliderSetting {
+ settingKey: "maxBarEmojis"
+ label: "Max Bar Emojis"
+ description: "Maximum number of emojis to display in the bar at once"
+ defaultValue: 3
+ minimum: 1
+ maximum: 8
+ unit: ""
+ rightIcon: "emoji_emotions"
+ }
+
+ StyledText {
+ width: parent.width
+ text: "๐Ÿ’ก Tip: Click the emoji widget in your bar to open the emoji picker and copy any emoji to your clipboard!"
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceVariantText
+ wrapMode: Text.WordWrap
+ }
+}