51 lines
1.2 KiB
QML
51 lines
1.2 KiB
QML
|
import StatusQ.Core 0.1
|
||
|
import StatusQ.Components 0.1
|
||
|
import StatusQ.Controls 0.1
|
||
|
|
||
|
import QtQuick 2.14
|
||
|
import QtQuick.Controls 2.14
|
||
|
|
||
|
StatusListItem {
|
||
|
id: root
|
||
|
|
||
|
property ButtonGroup buttonGroup
|
||
|
property alias checked: radioButton.checked
|
||
|
readonly property alias radioButton: radioButton
|
||
|
|
||
|
implicitHeight: 44
|
||
|
leftPadding: 8
|
||
|
rightPadding: 9
|
||
|
statusListItemTitle.font.pixelSize: 13
|
||
|
|
||
|
statusListItemTitleArea.anchors.leftMargin: 8
|
||
|
|
||
|
asset.bgWidth: 32
|
||
|
asset.bgHeight: 32
|
||
|
|
||
|
components: [
|
||
|
StatusRadioButton {
|
||
|
id: radioButton
|
||
|
|
||
|
// reference to root for better integration with ButtonGroup
|
||
|
// by accessing main component via ButtonGroup::checkedButton.item
|
||
|
readonly property alias item: root
|
||
|
|
||
|
size: StatusRadioButton.Size.Small
|
||
|
ButtonGroup.group: root.buttonGroup
|
||
|
|
||
|
rightPadding: 0
|
||
|
}
|
||
|
]
|
||
|
|
||
|
// using MouseArea instead of build-in 'clicked' signal to avoid
|
||
|
// intercepting event by the StatusRadioButton
|
||
|
MouseArea {
|
||
|
anchors.fill: parent
|
||
|
onClicked: {
|
||
|
if (!radioButton.checked)
|
||
|
radioButton.toggle()
|
||
|
}
|
||
|
cursorShape: Qt.PointingHandCursor
|
||
|
}
|
||
|
}
|