1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-08 06:25:37 -05:00

plugins: support for multiple widgets per-plugin (variants)

This commit is contained in:
bbedward
2025-10-06 12:33:58 -04:00
parent 11a1af89f4
commit 89793d2d62
10 changed files with 676 additions and 14 deletions

View File

@@ -34,6 +34,7 @@ Item {
signal ccWidgetExpanded()
property var pluginData: ({})
property var variants: []
readonly property bool isVertical: axis?.isVertical ?? false
readonly property bool hasHorizontalPill: horizontalBarPill !== null
@@ -64,9 +65,32 @@ Item {
function loadPluginData() {
if (!pluginService || !pluginId) {
pluginData = {}
variants = []
return
}
pluginData = SettingsData.getPluginSettingsForPlugin(pluginId)
variants = pluginService.getPluginVariants(pluginId)
}
function createVariant(variantName, variantConfig) {
if (!pluginService || !pluginId) {
return null
}
return pluginService.createPluginVariant(pluginId, variantName, variantConfig)
}
function removeVariant(variantId) {
if (!pluginService || !pluginId) {
return
}
pluginService.removePluginVariant(pluginId, variantId)
}
function updateVariant(variantId, variantConfig) {
if (!pluginService || !pluginId) {
return
}
pluginService.updatePluginVariant(pluginId, variantId, variantConfig)
}
width: isVertical ? (hasVerticalPill ? verticalPill.width : 0) : (hasHorizontalPill ? horizontalPill.width : 0)