Elements work like they've always done, this just moves the commonly used components away from the global namespace. The qmldir file still does something, although at this point it is unknown exactly how it's used and whether or not it could be changed to simplify imports across the block.
93 lines
2.5 KiB
QML
93 lines
2.5 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.0
|
|
import QtQuick.Layouts 1.3
|
|
|
|
Popup {
|
|
id: myDialogPopup
|
|
|
|
implicitHeight: parent.height
|
|
implicitWidth: parent.width
|
|
|
|
property string dialogTitle: ""
|
|
property string dialogText: ""
|
|
property int dialogWidth: 600
|
|
property int dialogHeight: 300
|
|
|
|
property Item dialogContentItem: MyText {
|
|
text: dialogText
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
property bool okClicked: false
|
|
|
|
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
|
|
|
background: Rectangle {
|
|
color: "black"
|
|
opacity: 0.8
|
|
}
|
|
|
|
contentItem: Item {
|
|
Rectangle {
|
|
implicitWidth: dialogWidth
|
|
implicitHeight: dialogHeight
|
|
anchors.centerIn: parent
|
|
radius: 24
|
|
color: "#1b2939"
|
|
border.color: "#cccccc"
|
|
border.width: 2
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
anchors.margins: 12
|
|
MyText {
|
|
Layout.leftMargin: 16
|
|
Layout.rightMargin: 16
|
|
text: dialogTitle
|
|
}
|
|
Rectangle {
|
|
color: "#cccccc"
|
|
height: 1
|
|
Layout.fillWidth: true
|
|
}
|
|
Item {
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
}
|
|
ColumnLayout {
|
|
id: dialogContent
|
|
}
|
|
Item {
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
}
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
Layout.leftMargin: 24
|
|
Layout.rightMargin: 24
|
|
Layout.bottomMargin: 12
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
MyPushButton {
|
|
implicitWidth: 200
|
|
text: "Ok"
|
|
onClicked: {
|
|
okClicked = true
|
|
myDialogPopup.close()
|
|
}
|
|
}
|
|
Item {
|
|
Layout.fillWidth: true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
dialogContentItem.parent = dialogContent
|
|
}
|
|
}
|