diff --git a/containments/panel/package/contents/ui/main.qml b/containments/panel/package/contents/ui/main.qml index 4ede6c28..0acbeaa7 100644 --- a/containments/panel/package/contents/ui/main.qml +++ b/containments/panel/package/contents/ui/main.qml @@ -259,6 +259,9 @@ PlasmaCore.ColorScope { z: 1 contentItem: QuickSettings { id: quickSettings + onCloseRequested: { + slidingPanel.hide() + } } } diff --git a/containments/panel/package/contents/ui/quicksettings/Delegate.qml b/containments/panel/package/contents/ui/quicksettings/Delegate.qml index 1c034bb2..c1363c5d 100644 --- a/containments/panel/package/contents/ui/quicksettings/Delegate.qml +++ b/containments/panel/package/contents/ui/quicksettings/Delegate.qml @@ -26,6 +26,7 @@ ColumnLayout { id: delegateRoot property bool toggled: model.enabled spacing: units.smallSpacing + signal closeRequested Rectangle { Layout.preferredWidth: units.iconSizes.large + units.smallSpacing * 2 @@ -93,6 +94,7 @@ ColumnLayout { onClicked: { if (model.settingsCommand) { plasmoid.nativeInterface.executeCommand(model.settingsCommand); + closeRequested(); } else if (model.toggleFunction) { root[model.toggleFunction](); } diff --git a/containments/panel/package/contents/ui/quicksettings/QuickSettings.qml b/containments/panel/package/contents/ui/quicksettings/QuickSettings.qml index 34c32b62..e8fe9615 100644 --- a/containments/panel/package/contents/ui/quicksettings/QuickSettings.qml +++ b/containments/panel/package/contents/ui/quicksettings/QuickSettings.qml @@ -28,6 +28,8 @@ Item { implicitWidth: flow.implicitWidth + units.smallSpacing * 6 implicitHeight: flow.implicitHeight + units.smallSpacing * 6 + signal closeRequested + function toggleAirplane() { print("toggle airplane mode") } @@ -195,6 +197,10 @@ Item { width: flow.columnWidth height: item ? item.implicitHeight : 0 source: Qt.resolvedUrl((model.delegate ? model.delegate : "Delegate") + ".qml") + Connections { + target: item + onCloseRequested: root.closeRequested() + } } } move: Transition {