56 lines
1.4 KiB
QML
56 lines
1.4 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
import QtQuick.Controls.Material
|
|
import QtQuick.Window
|
|
|
|
|
|
Dialog {
|
|
x: (parent.width - width) / 2
|
|
y: (parent.height - height) / 2
|
|
|
|
modal: true
|
|
closePolicy: Popup.NoAutoClose
|
|
|
|
property string message
|
|
property string messageType
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
spacing: 10
|
|
|
|
Image {
|
|
Layout.alignment: Qt.AlignLeft | Qt.AlignTop
|
|
sourceSize.height: 60
|
|
sourceSize.width: 60
|
|
|
|
source: {
|
|
switch (messageType.toLowerCase()) {
|
|
case "question":
|
|
return "qrc:///images/icons/dialog_quest.svg"
|
|
case "warn":
|
|
return "qrc:///images/icons/dialog_warn.svg"
|
|
case "error":
|
|
return "qrc:///images/icons/dialog_error.svg"
|
|
case "info":
|
|
return "qrc:///images/icons/dialog_info.svg"
|
|
default:
|
|
return "qrc:///images/icons/dialog_info.svg"
|
|
}
|
|
}
|
|
}
|
|
|
|
Label {
|
|
text: message
|
|
|
|
Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
|
|
Layout.fillWidth: true
|
|
Layout.minimumWidth: 200
|
|
Layout.maximumWidth: 300
|
|
|
|
textFormat: Text.RichText
|
|
wrapMode: Text.WordWrap
|
|
}
|
|
}
|
|
}
|