1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-05 21:15:38 -05:00
Files
DankMaterialShell/quickshell/Modules/Settings/Widgets/SettingsButtonGroupRow.qml
2025-12-03 17:25:40 -05:00

72 lines
2.1 KiB
QML

pragma ComponentBehavior: Bound
import QtQuick
import qs.Common
import qs.Widgets
Item {
id: root
property string tab: ""
property var tags: []
property string settingKey: ""
property string text: ""
property string description: ""
property alias model: buttonGroup.model
property alias currentIndex: buttonGroup.currentIndex
property alias selectionMode: buttonGroup.selectionMode
property alias buttonHeight: buttonGroup.buttonHeight
property alias minButtonWidth: buttonGroup.minButtonWidth
property alias buttonPadding: buttonGroup.buttonPadding
property alias checkIconSize: buttonGroup.checkIconSize
property alias textSize: buttonGroup.textSize
property alias spacing: buttonGroup.spacing
property alias checkEnabled: buttonGroup.checkEnabled
signal selectionChanged(int index, bool selected)
width: parent?.width ?? 0
height: 60
Row {
id: contentRow
width: parent.width - Theme.spacingM * 2
x: Theme.spacingM
anchors.verticalCenter: parent.verticalCenter
spacing: Theme.spacingM
Column {
width: parent.width - buttonGroup.width - Theme.spacingM
anchors.verticalCenter: parent.verticalCenter
spacing: Theme.spacingXS
StyledText {
text: root.text
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Medium
color: Theme.surfaceText
elide: Text.ElideRight
width: parent.width
visible: root.text !== ""
}
StyledText {
text: root.description
font.pixelSize: Theme.fontSizeSmall
color: Theme.surfaceVariantText
wrapMode: Text.WordWrap
width: parent.width
visible: root.description !== ""
}
}
DankButtonGroup {
id: buttonGroup
anchors.verticalCenter: parent.verticalCenter
selectionMode: "single"
onSelectionChanged: (index, selected) => root.selectionChanged(index, selected)
}
}
}