From aea2ac96ef9a6817fe9e81867da202eed4daba90 Mon Sep 17 00:00:00 2001 From: Bora Gülerman <49169566+eratoriele@users.noreply.github.com> Date: Sun, 15 Mar 2026 10:42:34 +0300 Subject: controlcenter/taskbar: add excludedScreens (#1215) also changed controlcenter/components/ConnectedButtonGroup - Changed row layout to grid layout - Added optional prop: row, which defaults to 1 so it looks same as row layout if not given - added new field to options, which bypasses rootItem bind. This is needed because we can not predict the number of monitors the user has, and can not create a seperate variable for each one --- .../controlcenter/components/ConnectedButtonGroup.qml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'modules/controlcenter/components/ConnectedButtonGroup.qml') diff --git a/modules/controlcenter/components/ConnectedButtonGroup.qml b/modules/controlcenter/components/ConnectedButtonGroup.qml index 01cd612..ab707fb 100644 --- a/modules/controlcenter/components/ConnectedButtonGroup.qml +++ b/modules/controlcenter/components/ConnectedButtonGroup.qml @@ -10,9 +10,10 @@ import QtQuick.Layouts StyledRect { id: root - property var options: [] // Array of {label: string, propertyName: string, onToggled: function} + property var options: [] // Array of {label: string, propertyName: string, onToggled: function, state: bool?} property var rootItem: null // The root item that contains the properties we want to bind to property string title: "" // Optional title text + property int rows: 1 // Number of rows Layout.fillWidth: true implicitHeight: layout.implicitHeight + Appearance.padding.large * 2 @@ -37,10 +38,13 @@ StyledRect { font.pointSize: Appearance.font.size.normal } - RowLayout { - id: buttonRow + GridLayout { + id: buttonGrid Layout.alignment: Qt.AlignHCenter - spacing: Appearance.spacing.small + rowSpacing: Appearance.spacing.small + columnSpacing: Appearance.spacing.small + rows: root.rows + columns: Math.ceil(root.options.length / root.rows) Repeater { id: repeater @@ -62,7 +66,10 @@ StyledRect { // Create binding in Component.onCompleted Component.onCompleted: { - if (root.rootItem && modelData.propertyName) { + if (modelData.state !== undefined && modelData.state) { + _checked = modelData.state; + } + else if (root.rootItem && modelData.propertyName) { const propName = modelData.propertyName; const rootItem = root.rootItem; _checked = Qt.binding(function () { -- cgit v1.2.3-freya