mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-08 06:25:37 -05:00
plugins: support control center plugins
This commit is contained in:
51
Modules/Plugins/PluginControlCenterWrapper.qml
Normal file
51
Modules/Plugins/PluginControlCenterWrapper.qml
Normal file
@@ -0,0 +1,51 @@
|
||||
import QtQuick
|
||||
import qs.Common
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property string pluginId: ""
|
||||
property var pluginInstance: null
|
||||
property bool isCompoundPill: false
|
||||
property bool isSmallToggle: false
|
||||
|
||||
readonly property bool hasDetail: pluginInstance?.ccDetailContent !== null
|
||||
readonly property string iconName: pluginInstance?.ccWidgetIcon || "extension"
|
||||
readonly property string primaryText: pluginInstance?.ccWidgetPrimaryText || "Plugin"
|
||||
readonly property string secondaryText: pluginInstance?.ccWidgetSecondaryText || ""
|
||||
readonly property bool isActive: pluginInstance?.ccWidgetIsActive || false
|
||||
readonly property Component detailContent: pluginInstance?.ccDetailContent || null
|
||||
readonly property real detailHeight: pluginInstance?.ccDetailHeight || 250
|
||||
|
||||
signal toggled()
|
||||
signal expanded()
|
||||
|
||||
Component.onCompleted: {
|
||||
if (pluginInstance) {
|
||||
pluginInstance.ccWidgetToggled.connect(handleToggled)
|
||||
pluginInstance.ccWidgetExpanded.connect(handleExpanded)
|
||||
}
|
||||
}
|
||||
|
||||
function handleToggled() {
|
||||
toggled()
|
||||
}
|
||||
|
||||
function handleExpanded() {
|
||||
expanded()
|
||||
}
|
||||
|
||||
function invokeToggle() {
|
||||
if (pluginInstance) {
|
||||
pluginInstance.ccWidgetToggled()
|
||||
}
|
||||
}
|
||||
|
||||
function invokeExpand() {
|
||||
if (pluginInstance) {
|
||||
pluginInstance.ccWidgetExpanded()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user