diff --git a/components/mobileshell/qml/actiondrawer/private/QuickSettings.qml b/components/mobileshell/qml/actiondrawer/private/QuickSettings.qml index 10abbef1..e9d44909 100644 --- a/components/mobileshell/qml/actiondrawer/private/QuickSettings.qml +++ b/components/mobileshell/qml/actiondrawer/private/QuickSettings.qml @@ -222,18 +222,61 @@ Item { // Quick settings view ColumnLayout { Layout.fillWidth: true - Layout.minimumHeight: rowCount * rowHeight + Layout.minimumHeight: root.isConvergence ? convergenceFlow.implicitHeight : rowCount * rowHeight opacity: brightnessPressedValue + Flow { + id: convergenceFlow + visible: root.isConvergence + + Layout.fillWidth: true + Layout.preferredHeight: implicitHeight + + spacing: 0 + + Repeater { + model: root.quickSettingsModel + delegate: MobileShell.BaseItem { + required property var modelData + + readonly property bool __hidden: root.isManagementTile(modelData.settingsCommand) + height: __hidden ? 0 : root.rowHeight + width: __hidden ? 0 : root.columnWidth + visible: !__hidden + padding: Kirigami.Units.smallSpacing + + contentItem: QuickSettingsFullDelegate { + restrictedPermissions: actionDrawer.restrictedPermissions + + text: modelData.text + status: modelData.status + icon: modelData.icon + enabled: modelData.enabled + settingsCommand: modelData.settingsCommand + toggleFunction: modelData.toggle + + onCloseRequested: { + actionDrawer.close(); + } + onDetailRequested: (pluginId) => { + detailPopup.show(pluginId); + } + } + } + } + } + SwipeView { id: swipeView // we need to clip this view here to prevent the other quick settings pages from being visible // when fullViewProgress is not less then 1 and the base view is no longer being clipped clip: true + visible: !root.isConvergence Layout.fillWidth: true - Layout.preferredHeight: rowCount * rowHeight + Layout.preferredHeight: visible ? rowCount * rowHeight : 0 + Layout.maximumHeight: visible ? rowCount * rowHeight : 0 Repeater { model: Math.ceil(quickSettingsCount / pageSize) @@ -292,7 +335,7 @@ Item { // Avoid wasting space when not loaded Layout.maximumHeight: active ? item.implicitHeight : 0 - active: swipeView.count > 1 ? true: false + active: !root.isConvergence && swipeView.count > 1 ? true: false asynchronous: true sourceComponent: PageIndicator {