53 lines
1.2 KiB
QML
53 lines
1.2 KiB
QML
import QtQuick 2.0
|
|
import QtQuick.Controls 1.0
|
|
import QtQuick.Layouts 1.0
|
|
|
|
// Alternative to GroupBox for when we want the title to always be left aligned.
|
|
Rectangle {
|
|
id: control
|
|
Layout.fillWidth: true
|
|
default property alias _contentChildren: content.data
|
|
property string label: ""
|
|
|
|
color: "#0c000000"
|
|
border.width: 2
|
|
border.color: "#10000000"
|
|
// radius: 5
|
|
property int padding: 8
|
|
implicitHeight: childrenRect.height + padding + padding
|
|
property alias spacing: content.spacing
|
|
|
|
Label {
|
|
id: title
|
|
visible: control.label
|
|
text: control.label
|
|
font.bold: true
|
|
font.pointSize: 13
|
|
anchors.leftMargin: padding
|
|
// anchors.topMargin: padding
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
anchors.right: parent.right
|
|
height: visible ? implicitHeight : padding
|
|
}
|
|
|
|
ColumnLayout {
|
|
id: content
|
|
anchors.top: title.bottom
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.margins: padding
|
|
// spacing: 0
|
|
// height: childrenRect.height
|
|
|
|
// Workaround for crash when using default on a Layout.
|
|
// https://bugreports.qt.io/browse/QTBUG-52490
|
|
// Still affecting Qt 5.7.0
|
|
Component.onDestruction: {
|
|
while (children.length > 0) {
|
|
children[children.length - 1].parent = control;
|
|
}
|
|
}
|
|
}
|
|
}
|