mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-14 23:34:01 -04:00
deprecation notice to plugin compatibility shims - When qml-common became a thing, we left qs.Widgets shims in place for plugin compatibility - It's annoying to need to maintain them when qml-common has any change, add a warning so we can safely deprecate them in the future - One shot rename the common stuff to D to make it shorter and nicer to write
68 lines
2.1 KiB
QML
68 lines
2.1 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
import qs.Services
|
|
import qs.DCommon.Widgets
|
|
import qs.Modules.Plugins
|
|
|
|
PluginComponent {
|
|
id: root
|
|
|
|
property bool isEnabled: pluginData.isEnabled || false
|
|
property int clickCount: pluginData.clickCount || 0
|
|
|
|
ccWidgetIcon: isEnabled ? "toggle_on" : "toggle_off"
|
|
ccWidgetPrimaryText: "Example Toggle"
|
|
ccWidgetSecondaryText: isEnabled ? `Active • ${clickCount} clicks` : "Inactive"
|
|
ccWidgetIsActive: isEnabled
|
|
|
|
onCcWidgetToggled: {
|
|
isEnabled = !isEnabled;
|
|
clickCount += 1;
|
|
if (pluginService) {
|
|
pluginService.savePluginData("controlCenterExample", "isEnabled", isEnabled);
|
|
pluginService.savePluginData("controlCenterExample", "clickCount", clickCount);
|
|
}
|
|
ToastService.showInfo("Example Toggle", isEnabled ? "Activated!" : "Deactivated!");
|
|
}
|
|
|
|
horizontalBarPill: Component {
|
|
Row {
|
|
spacing: Theme.spacingXS
|
|
|
|
DIcon {
|
|
name: root.isEnabled ? "toggle_on" : "toggle_off"
|
|
color: root.isEnabled ? Theme.primary : Theme.surfaceVariantText
|
|
size: root.iconSize
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
|
|
StyledText {
|
|
text: `${root.clickCount}`
|
|
color: root.isEnabled ? Theme.primary : Theme.surfaceVariantText
|
|
font.pixelSize: root.textSize
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
}
|
|
}
|
|
}
|
|
|
|
verticalBarPill: Component {
|
|
Column {
|
|
spacing: Theme.spacingXS
|
|
|
|
DIcon {
|
|
name: root.isEnabled ? "toggle_on" : "toggle_off"
|
|
color: root.isEnabled ? Theme.primary : Theme.surfaceVariantText
|
|
size: root.iconSize
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
}
|
|
|
|
StyledText {
|
|
text: `${root.clickCount}`
|
|
color: root.isEnabled ? Theme.primary : Theme.surfaceVariantText
|
|
font.pixelSize: root.textSize
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
}
|
|
}
|
|
}
|
|
}
|