Migration of QtMvvm from github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
1.9 KiB

import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Window 2.2
import QtQuick.Layouts 1.3
import de.skycoder42.QtMvvm.Core 1.0
AlertDialog {
id: _msgBoxBase
property var msgConfig
property MessageResult msgResult
property alias iconVisible: _icon.visible
property alias iconSource: _icon.source
7 years ago
header: Pane {
id: _headerPane
background: Item {}
bottomPadding: 0
7 years ago
RowLayout {
anchors.fill: parent
spacing: _headerPane.padding
7 years ago
TintIcon {
id: _icon
visible: false
Layout.preferredWidth: 24
Layout.preferredHeight: 24
Layout.alignment: Qt.AlignVCenter
}
7 years ago
Label {
id: _title
text: msgConfig.title
visible: msgConfig.title
elide: Label.ElideRight
font.bold: true
Layout.fillWidth: true
}
}
}
footer: DialogButtonBox {
id: _btnBox
readonly property var _allBtns: [
DialogButtonBox.NoButton,
DialogButtonBox.Ok,
DialogButtonBox.Save,
DialogButtonBox.SaveAll,
DialogButtonBox.Open,
DialogButtonBox.Yes,
DialogButtonBox.YesToAll,
DialogButtonBox.No,
DialogButtonBox.NoToAll,
DialogButtonBox.Abort,
DialogButtonBox.Retry,
DialogButtonBox.Ignore,
DialogButtonBox.Close,
DialogButtonBox.Cancel,
DialogButtonBox.Discard,
DialogButtonBox.Help,
DialogButtonBox.Apply,
DialogButtonBox.Reset,
DialogButtonBox.RestoreDefaults,
]
standardButtons: msgConfig.buttons
onStandardButtonsChanged: {
Object.keys(msgConfig.buttonTexts).forEach(function(key) {
standardButton(key).text = msgConfig.buttonTexts[key]
});
}
onClicked: {
if(msgResult) {
_allBtns.forEach(function(sBtn) {
if(button === standardButton(sBtn)) {
msgResult.complete(sBtn);
msgResult = null;
}
})
}
}
}
onClosed: {
if(msgResult) {
msgResult.complete(MessageConfig.NoButton);
msgResult = null;
}
}
Component.onCompleted: {
if(msgResult)
msgResult.setCloseTarget(_msgBoxBase, "reject()");
}
}