diff options
Diffstat (limited to 'src/imports/platform/qquickplatformmessagedialog.cpp')
-rw-r--r-- | src/imports/platform/qquickplatformmessagedialog.cpp | 16 |
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 |