aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/platform/qquickplatformmessagedialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/platform/qquickplatformmessagedialog.cpp')
-rw-r--r--src/imports/platform/qquickplatformmessagedialog.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp
index 05bcc080..1d11d808 100644
--- a/src/imports/platform/qquickplatformmessagedialog.cpp
+++ b/src/imports/platform/qquickplatformmessagedialog.cpp
@@ -129,8 +129,7 @@ QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent)
dialog = new QWidgetPlatformMessageDialog(this);
#endif
if (QPlatformMessageDialogHelper *messageDialog = qobject_cast<QPlatformMessageDialogHelper *>(dialog)) {
- connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformDialog::close);
- connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformMessageDialog::clicked);
+ connect(messageDialog, &QPlatformMessageDialogHelper::clicked, this, &QQuickPlatformMessageDialog::handleClick);
messageDialog->setOptions(m_options);
}
setHandle(dialog);
@@ -249,4 +248,17 @@ void QQuickPlatformMessageDialog::applyOptions()
m_options->setWindowTitle(title());
}
+void QQuickPlatformMessageDialog::handleClick(QPlatformDialogHelper::StandardButton button)
+{
+ QPlatformDialogHelper::ButtonRole role = QPlatformDialogHelper::buttonRole(button);
+ if (role == QPlatformDialogHelper::AcceptRole)
+ accept();
+ else if (role == QPlatformDialogHelper::RejectRole)
+ reject();
+ else
+ close();
+
+ emit clicked(button);
+}
+
QT_END_NAMESPACE