1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00
Files
DankMaterialShell/quickshell/Modules/Plugins/DesktopPluginComponent.qml
bbedward 0034926df7 plugins/desktop-widgets: create a new "desktop" widget plugin type
- Draggable per-monitor background layer widgets
- Add basic dms version checks on plugins
- Clock: built-in clock desktop plugin
- dgop: built-in system monitor desktop plugin
2025-12-17 12:08:03 -05:00

50 lines
1.2 KiB
QML

import QtQuick
import qs.Common
Item {
id: root
property var pluginService: null
property string pluginId: ""
property real widgetWidth: 200
property real widgetHeight: 200
property real minWidth: 100
property real minHeight: 100
property var pluginData: ({})
Component.onCompleted: loadPluginData()
onPluginServiceChanged: loadPluginData()
onPluginIdChanged: loadPluginData()
Connections {
target: pluginService
function onPluginDataChanged(changedPluginId) {
if (changedPluginId !== pluginId)
return;
loadPluginData();
}
}
function loadPluginData() {
if (!pluginService || !pluginId) {
pluginData = {};
return;
}
pluginData = SettingsData.getPluginSettingsForPlugin(pluginId);
}
function getData(key, defaultValue) {
if (!pluginService || !pluginId)
return defaultValue;
return pluginService.loadPluginData(pluginId, key, defaultValue);
}
function setData(key, value) {
if (!pluginService || !pluginId)
return;
pluginService.savePluginData(pluginId, key, value);
}
}