mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-12 08:42:13 -04:00
controlcenter: fix trigger position via IPC
This commit is contained in:
@@ -25,7 +25,6 @@ import qs.Modules.DankBar.Popouts
|
|||||||
import qs.Modules.Plugins
|
import qs.Modules.Plugins
|
||||||
import qs.Services
|
import qs.Services
|
||||||
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
@@ -80,7 +79,8 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onCurrentPositionChanged: {
|
onCurrentPositionChanged: {
|
||||||
if (!initialized) return
|
if (!initialized)
|
||||||
|
return
|
||||||
|
|
||||||
const component = sourceComponent
|
const component = sourceComponent
|
||||||
sourceComponent = null
|
sourceComponent = null
|
||||||
@@ -111,7 +111,8 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onCurrentPositionChanged: {
|
onCurrentPositionChanged: {
|
||||||
if (!initialized) return
|
if (!initialized)
|
||||||
|
return
|
||||||
|
|
||||||
console.log("DEBUG: Dock position changed to:", currentPosition, "- recreating dock")
|
console.log("DEBUG: Dock position changed to:", currentPosition, "- recreating dock")
|
||||||
const comp = sourceComponent
|
const comp = sourceComponent
|
||||||
@@ -494,6 +495,7 @@ Item {
|
|||||||
dankDashPopoutLoader: dankDashPopoutLoader
|
dankDashPopoutLoader: dankDashPopoutLoader
|
||||||
notepadSlideoutVariants: notepadSlideoutVariants
|
notepadSlideoutVariants: notepadSlideoutVariants
|
||||||
hyprKeybindsModalLoader: hyprKeybindsModalLoader
|
hyprKeybindsModalLoader: hyprKeybindsModalLoader
|
||||||
|
dankBarLoader: dankBarLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Item {
|
|||||||
required property var dankDashPopoutLoader
|
required property var dankDashPopoutLoader
|
||||||
required property var notepadSlideoutVariants
|
required property var notepadSlideoutVariants
|
||||||
required property var hyprKeybindsModalLoader
|
required property var hyprKeybindsModalLoader
|
||||||
|
required property var dankBarLoader
|
||||||
|
|
||||||
IpcHandler {
|
IpcHandler {
|
||||||
function open() {
|
function open() {
|
||||||
@@ -76,9 +77,8 @@ Item {
|
|||||||
|
|
||||||
IpcHandler {
|
IpcHandler {
|
||||||
function open(): string {
|
function open(): string {
|
||||||
root.controlCenterLoader.active = true
|
if (root.dankBarLoader.item) {
|
||||||
if (root.controlCenterLoader.item) {
|
root.dankBarLoader.item.triggerControlCenterOnFocusedScreen()
|
||||||
root.controlCenterLoader.item.open()
|
|
||||||
return "CONTROL_CENTER_OPEN_SUCCESS"
|
return "CONTROL_CENTER_OPEN_SUCCESS"
|
||||||
}
|
}
|
||||||
return "CONTROL_CENTER_OPEN_FAILED"
|
return "CONTROL_CENTER_OPEN_FAILED"
|
||||||
@@ -93,9 +93,8 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function toggle(): string {
|
function toggle(): string {
|
||||||
root.controlCenterLoader.active = true
|
if (root.dankBarLoader.item) {
|
||||||
if (root.controlCenterLoader.item) {
|
root.dankBarLoader.item.triggerControlCenterOnFocusedScreen()
|
||||||
root.controlCenterLoader.item.toggle()
|
|
||||||
return "CONTROL_CENTER_TOGGLE_SUCCESS"
|
return "CONTROL_CENTER_TOGGLE_SUCCESS"
|
||||||
}
|
}
|
||||||
return "CONTROL_CENTER_TOGGLE_FAILED"
|
return "CONTROL_CENTER_TOGGLE_FAILED"
|
||||||
|
|||||||
@@ -108,8 +108,7 @@ DankPopout {
|
|||||||
return Qt.rgba(surface.r, surface.g, surface.b, transparency)
|
return Qt.rgba(surface.r, surface.g, surface.b, transparency)
|
||||||
}
|
}
|
||||||
radius: Theme.cornerRadius
|
radius: Theme.cornerRadius
|
||||||
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g,
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g, Theme.outline.b, 0.08)
|
||||||
Theme.outline.b, 0.08)
|
|
||||||
border.width: 0
|
border.width: 0
|
||||||
antialiasing: true
|
antialiasing: true
|
||||||
smooth: true
|
smooth: true
|
||||||
@@ -166,9 +165,9 @@ DankPopout {
|
|||||||
root.toggleSection(widgetData.id)
|
root.toggleSection(widgetData.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onRemoveWidget: (index) => widgetModel.removeWidget(index)
|
onRemoveWidget: index => widgetModel.removeWidget(index)
|
||||||
onMoveWidget: (fromIndex, toIndex) => widgetModel.moveWidget(fromIndex, toIndex)
|
onMoveWidget: (fromIndex, toIndex) => widgetModel.moveWidget(fromIndex, toIndex)
|
||||||
onToggleWidgetSize: (index) => widgetModel.toggleWidgetSize(index)
|
onToggleWidgetSize: index => widgetModel.toggleWidgetSize(index)
|
||||||
onCollapseRequested: root.collapseAll()
|
onCollapseRequested: root.collapseAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,12 +176,13 @@ DankPopout {
|
|||||||
visible: editMode
|
visible: editMode
|
||||||
popoutContent: controlContent
|
popoutContent: controlContent
|
||||||
availableWidgets: {
|
availableWidgets: {
|
||||||
if (!editMode) return []
|
if (!editMode)
|
||||||
|
return []
|
||||||
const existingIds = (SettingsData.controlCenterWidgets || []).map(w => w.id)
|
const existingIds = (SettingsData.controlCenterWidgets || []).map(w => w.id)
|
||||||
const allWidgets = widgetModel.baseWidgetDefinitions.concat(widgetModel.getPluginWidgets())
|
const allWidgets = widgetModel.baseWidgetDefinitions.concat(widgetModel.getPluginWidgets())
|
||||||
return allWidgets.filter(w => w.allowMultiple || !existingIds.includes(w.id))
|
return allWidgets.filter(w => w.allowMultiple || !existingIds.includes(w.id))
|
||||||
}
|
}
|
||||||
onAddWidget: (widgetId) => widgetModel.addWidget(widgetId)
|
onAddWidget: widgetId => widgetModel.addWidget(widgetId)
|
||||||
onResetToDefault: () => widgetModel.resetToDefault()
|
onResetToDefault: () => widgetModel.resetToDefault()
|
||||||
onClearAll: () => widgetModel.clearAll()
|
onClearAll: () => widgetModel.clearAll()
|
||||||
}
|
}
|
||||||
@@ -205,10 +205,10 @@ DankPopout {
|
|||||||
id: bluetoothDetailComponent
|
id: bluetoothDetailComponent
|
||||||
BluetoothDetail {
|
BluetoothDetail {
|
||||||
id: bluetoothDetail
|
id: bluetoothDetail
|
||||||
onShowCodecSelector: function(device) {
|
onShowCodecSelector: function (device) {
|
||||||
if (contentLoader.item && contentLoader.item.bluetoothCodecSelector) {
|
if (contentLoader.item && contentLoader.item.bluetoothCodecSelector) {
|
||||||
contentLoader.item.bluetoothCodecSelector.show(device)
|
contentLoader.item.bluetoothCodecSelector.show(device)
|
||||||
contentLoader.item.bluetoothCodecSelector.codecSelected.connect(function(deviceAddress, codecName) {
|
contentLoader.item.bluetoothCodecSelector.codecSelected.connect(function (deviceAddress, codecName) {
|
||||||
bluetoothDetail.updateDeviceCodecDisplay(deviceAddress, codecName)
|
bluetoothDetail.updateDeviceCodecDisplay(deviceAddress, codecName)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,14 +20,64 @@ import qs.Widgets
|
|||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
signal colorPickerRequested()
|
signal colorPickerRequested
|
||||||
|
|
||||||
|
property alias barVariants: barVariants
|
||||||
|
|
||||||
|
function triggerControlCenterOnFocusedScreen() {
|
||||||
|
let focusedScreenName = ""
|
||||||
|
if (CompositorService.isHyprland && Hyprland.focusedWorkspace && Hyprland.focusedWorkspace.monitor) {
|
||||||
|
focusedScreenName = Hyprland.focusedWorkspace.monitor.name
|
||||||
|
} else if (CompositorService.isNiri && NiriService.currentOutput) {
|
||||||
|
focusedScreenName = NiriService.currentOutput
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!focusedScreenName && barVariants.instances.length > 0) {
|
||||||
|
const firstBar = barVariants.instances[0]
|
||||||
|
firstBar.triggerControlCenter()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < barVariants.instances.length; i++) {
|
||||||
|
const barInstance = barVariants.instances[i]
|
||||||
|
if (barInstance.modelData && barInstance.modelData.name === focusedScreenName) {
|
||||||
|
barInstance.triggerControlCenter()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
Variants {
|
Variants {
|
||||||
|
id: barVariants
|
||||||
model: SettingsData.getFilteredScreens("dankBar")
|
model: SettingsData.getFilteredScreens("dankBar")
|
||||||
|
|
||||||
delegate: PanelWindow {
|
delegate: PanelWindow {
|
||||||
id: barWindow
|
id: barWindow
|
||||||
|
|
||||||
|
property var controlCenterButtonRef: null
|
||||||
|
|
||||||
|
function triggerControlCenter() {
|
||||||
|
controlCenterLoader.active = true
|
||||||
|
if (!controlCenterLoader.item) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (controlCenterButtonRef && controlCenterLoader.item.setTriggerPosition) {
|
||||||
|
const globalPos = controlCenterButtonRef.mapToGlobal(0, 0)
|
||||||
|
const pos = SettingsData.getPopupTriggerPosition(globalPos, barWindow.screen, barWindow.effectiveBarThickness, controlCenterButtonRef.width)
|
||||||
|
const section = controlCenterButtonRef.section || "right"
|
||||||
|
controlCenterLoader.item.setTriggerPosition(pos.x, pos.y, pos.width, section, barWindow.screen)
|
||||||
|
} else {
|
||||||
|
controlCenterLoader.item.triggerScreen = barWindow.screen
|
||||||
|
}
|
||||||
|
|
||||||
|
controlCenterLoader.item.toggle()
|
||||||
|
if (controlCenterLoader.item.shouldBeVisible && NetworkService.wifiEnabled) {
|
||||||
|
NetworkService.scanWifi()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
readonly property var dBarLayer: {
|
readonly property var dBarLayer: {
|
||||||
switch (Quickshell.env("DMS_DANKBAR_LAYER")) {
|
switch (Quickshell.env("DMS_DANKBAR_LAYER")) {
|
||||||
case "bottom":
|
case "bottom":
|
||||||
@@ -46,32 +96,30 @@ Item {
|
|||||||
|
|
||||||
property var modelData: item
|
property var modelData: item
|
||||||
|
|
||||||
signal colorPickerRequested()
|
signal colorPickerRequested
|
||||||
|
|
||||||
onColorPickerRequested: root.colorPickerRequested()
|
onColorPickerRequested: root.colorPickerRequested()
|
||||||
|
|
||||||
|
|
||||||
AxisContext {
|
AxisContext {
|
||||||
id: axis
|
id: axis
|
||||||
edge: {
|
edge: {
|
||||||
switch (SettingsData.dankBarPosition) {
|
switch (SettingsData.dankBarPosition) {
|
||||||
case SettingsData.Position.Top:
|
case SettingsData.Position.Top:
|
||||||
return "top";
|
return "top"
|
||||||
case SettingsData.Position.Bottom:
|
case SettingsData.Position.Bottom:
|
||||||
return "bottom";
|
return "bottom"
|
||||||
case SettingsData.Position.Left:
|
case SettingsData.Position.Left:
|
||||||
return "left";
|
return "left"
|
||||||
case SettingsData.Position.Right:
|
case SettingsData.Position.Right:
|
||||||
return "right";
|
return "right"
|
||||||
default:
|
default:
|
||||||
return "top";
|
return "top"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly property bool isVertical: axis.isVertical
|
readonly property bool isVertical: axis.isVertical
|
||||||
|
|
||||||
|
|
||||||
property bool gothCornersEnabled: SettingsData.dankBarGothCornersEnabled
|
property bool gothCornersEnabled: SettingsData.dankBarGothCornersEnabled
|
||||||
property real wingtipsRadius: Theme.cornerRadius
|
property real wingtipsRadius: Theme.cornerRadius
|
||||||
readonly property real _wingR: Math.max(0, wingtipsRadius)
|
readonly property real _wingR: Math.max(0, wingtipsRadius)
|
||||||
@@ -81,11 +129,13 @@ Item {
|
|||||||
readonly property real _dpr: {
|
readonly property real _dpr: {
|
||||||
if (CompositorService.isNiri && barWindow.screen) {
|
if (CompositorService.isNiri && barWindow.screen) {
|
||||||
const niriScale = NiriService.displayScales[barWindow.screen.name]
|
const niriScale = NiriService.displayScales[barWindow.screen.name]
|
||||||
if (niriScale !== undefined) return niriScale
|
if (niriScale !== undefined)
|
||||||
|
return niriScale
|
||||||
}
|
}
|
||||||
if (CompositorService.isHyprland && barWindow.screen) {
|
if (CompositorService.isHyprland && barWindow.screen) {
|
||||||
const hyprlandMonitor = Hyprland.monitors.values.find(m => m.name === barWindow.screen.name)
|
const hyprlandMonitor = Hyprland.monitors.values.find(m => m.name === barWindow.screen.name)
|
||||||
if (hyprlandMonitor?.scale !== undefined) return hyprlandMonitor.scale
|
if (hyprlandMonitor?.scale !== undefined)
|
||||||
|
return hyprlandMonitor.scale
|
||||||
}
|
}
|
||||||
return (barWindow.screen?.devicePixelRatio) || 1
|
return (barWindow.screen?.devicePixelRatio) || 1
|
||||||
}
|
}
|
||||||
@@ -179,7 +229,7 @@ Item {
|
|||||||
nativeInhibitor = Qt.createQmlObject(qmlString, barWindow, "DankBar.NativeInhibitor")
|
nativeInhibitor = Qt.createQmlObject(qmlString, barWindow, "DankBar.NativeInhibitor")
|
||||||
nativeInhibitor.window = barWindow
|
nativeInhibitor.window = barWindow
|
||||||
nativeInhibitor.enabled = Qt.binding(() => SessionService.idleInhibited)
|
nativeInhibitor.enabled = Qt.binding(() => SessionService.idleInhibited)
|
||||||
nativeInhibitor.enabledChanged.connect(function() {
|
nativeInhibitor.enabledChanged.connect(function () {
|
||||||
console.log("DankBar: Native inhibitor enabled changed to:", nativeInhibitor.enabled)
|
console.log("DankBar: Native inhibitor enabled changed to:", nativeInhibitor.enabled)
|
||||||
if (SessionService.idleInhibited !== nativeInhibitor.enabled) {
|
if (SessionService.idleInhibited !== nativeInhibitor.enabled) {
|
||||||
SessionService.idleInhibited = nativeInhibitor.enabled
|
SessionService.idleInhibited = nativeInhibitor.enabled
|
||||||
@@ -260,9 +310,7 @@ Item {
|
|||||||
|
|
||||||
readonly property bool inOverviewWithShow: CompositorService.isNiri && NiriService.inOverview && SettingsData.dankBarOpenOnOverview
|
readonly property bool inOverviewWithShow: CompositorService.isNiri && NiriService.inOverview && SettingsData.dankBarOpenOnOverview
|
||||||
readonly property bool effectiveVisible: SettingsData.dankBarVisible || inOverviewWithShow
|
readonly property bool effectiveVisible: SettingsData.dankBarVisible || inOverviewWithShow
|
||||||
readonly property bool showing: effectiveVisible && (topBarCore.reveal
|
readonly property bool showing: effectiveVisible && (topBarCore.reveal || inOverviewWithShow || !topBarCore.autoHide)
|
||||||
|| inOverviewWithShow
|
|
||||||
|| !topBarCore.autoHide)
|
|
||||||
|
|
||||||
readonly property int maskThickness: showing ? barThickness : 1
|
readonly property int maskThickness: showing ? barThickness : 1
|
||||||
|
|
||||||
@@ -271,9 +319,12 @@ Item {
|
|||||||
return 0
|
return 0
|
||||||
} else {
|
} else {
|
||||||
switch (SettingsData.dankBarPosition) {
|
switch (SettingsData.dankBarPosition) {
|
||||||
case SettingsData.Position.Left: return 0
|
case SettingsData.Position.Left:
|
||||||
case SettingsData.Position.Right: return parent.width - maskThickness
|
return 0
|
||||||
default: return 0
|
case SettingsData.Position.Right:
|
||||||
|
return parent.width - maskThickness
|
||||||
|
default:
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -282,9 +333,12 @@ Item {
|
|||||||
return 0
|
return 0
|
||||||
} else {
|
} else {
|
||||||
switch (SettingsData.dankBarPosition) {
|
switch (SettingsData.dankBarPosition) {
|
||||||
case SettingsData.Position.Top: return 0
|
case SettingsData.Position.Top:
|
||||||
case SettingsData.Position.Bottom: return parent.height - maskThickness
|
return 0
|
||||||
default: return 0
|
case SettingsData.Position.Bottom:
|
||||||
|
return parent.height - maskThickness
|
||||||
|
default:
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -349,8 +403,8 @@ Item {
|
|||||||
"prop": "shouldBeVisible"
|
"prop": "shouldBeVisible"
|
||||||
}]
|
}]
|
||||||
return loaders.some(item => {
|
return loaders.some(item => {
|
||||||
if (item.loader) {
|
if (item.loader && item.loader.item) {
|
||||||
return item.loader?.item?.[item.prop]
|
return item.loader.item[item.prop]
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
@@ -512,7 +566,7 @@ Item {
|
|||||||
|
|
||||||
readonly property var componentMap: {
|
readonly property var componentMap: {
|
||||||
// This property depends on componentMapRevision to ensure it updates when plugins change
|
// This property depends on componentMapRevision to ensure it updates when plugins change
|
||||||
componentMapRevision;
|
componentMapRevision
|
||||||
|
|
||||||
let baseMap = {
|
let baseMap = {
|
||||||
"launcherButton": launcherButtonComponent,
|
"launcherButton": launcherButtonComponent,
|
||||||
@@ -554,33 +608,33 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
readonly property var allComponents: ({
|
readonly property var allComponents: ({
|
||||||
launcherButtonComponent: launcherButtonComponent,
|
"launcherButtonComponent": launcherButtonComponent,
|
||||||
workspaceSwitcherComponent: workspaceSwitcherComponent,
|
"workspaceSwitcherComponent": workspaceSwitcherComponent,
|
||||||
focusedWindowComponent: focusedWindowComponent,
|
"focusedWindowComponent": focusedWindowComponent,
|
||||||
runningAppsComponent: runningAppsComponent,
|
"runningAppsComponent": runningAppsComponent,
|
||||||
clockComponent: clockComponent,
|
"clockComponent": clockComponent,
|
||||||
mediaComponent: mediaComponent,
|
"mediaComponent": mediaComponent,
|
||||||
weatherComponent: weatherComponent,
|
"weatherComponent": weatherComponent,
|
||||||
systemTrayComponent: systemTrayComponent,
|
"systemTrayComponent": systemTrayComponent,
|
||||||
privacyIndicatorComponent: privacyIndicatorComponent,
|
"privacyIndicatorComponent": privacyIndicatorComponent,
|
||||||
clipboardComponent: clipboardComponent,
|
"clipboardComponent": clipboardComponent,
|
||||||
cpuUsageComponent: cpuUsageComponent,
|
"cpuUsageComponent": cpuUsageComponent,
|
||||||
memUsageComponent: memUsageComponent,
|
"memUsageComponent": memUsageComponent,
|
||||||
diskUsageComponent: diskUsageComponent,
|
"diskUsageComponent": diskUsageComponent,
|
||||||
cpuTempComponent: cpuTempComponent,
|
"cpuTempComponent": cpuTempComponent,
|
||||||
gpuTempComponent: gpuTempComponent,
|
"gpuTempComponent": gpuTempComponent,
|
||||||
notificationButtonComponent: notificationButtonComponent,
|
"notificationButtonComponent": notificationButtonComponent,
|
||||||
batteryComponent: batteryComponent,
|
"batteryComponent": batteryComponent,
|
||||||
controlCenterButtonComponent: controlCenterButtonComponent,
|
"controlCenterButtonComponent": controlCenterButtonComponent,
|
||||||
idleInhibitorComponent: idleInhibitorComponent,
|
"idleInhibitorComponent": idleInhibitorComponent,
|
||||||
spacerComponent: spacerComponent,
|
"spacerComponent": spacerComponent,
|
||||||
separatorComponent: separatorComponent,
|
"separatorComponent": separatorComponent,
|
||||||
networkComponent: networkComponent,
|
"networkComponent": networkComponent,
|
||||||
keyboardLayoutNameComponent: keyboardLayoutNameComponent,
|
"keyboardLayoutNameComponent": keyboardLayoutNameComponent,
|
||||||
vpnComponent: vpnComponent,
|
"vpnComponent": vpnComponent,
|
||||||
notepadButtonComponent: notepadButtonComponent,
|
"notepadButtonComponent": notepadButtonComponent,
|
||||||
colorPickerComponent: colorPickerComponent,
|
"colorPickerComponent": colorPickerComponent,
|
||||||
systemUpdateComponent: systemUpdateComponent
|
"systemUpdateComponent": systemUpdateComponent
|
||||||
})
|
})
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
@@ -694,8 +748,6 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: clipboardComponent
|
id: clipboardComponent
|
||||||
|
|
||||||
@@ -1017,6 +1069,17 @@ Item {
|
|||||||
}
|
}
|
||||||
parentScreen: barWindow.screen
|
parentScreen: barWindow.screen
|
||||||
widgetData: parent.widgetData
|
widgetData: parent.widgetData
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
barWindow.controlCenterButtonRef = this
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onDestruction: {
|
||||||
|
if (barWindow.controlCenterButtonRef === this) {
|
||||||
|
barWindow.controlCenterButtonRef = null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
controlCenterLoader.active = true
|
controlCenterLoader.active = true
|
||||||
if (!controlCenterLoader.item) {
|
if (!controlCenterLoader.item) {
|
||||||
@@ -1135,7 +1198,6 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user