melawy-plasma-plasmoid-pres.../com.github.zren.presentwindows/contents/ui/lib/ConfigSection.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;
}
}
}
}