From ef102fcb366e25fb59d943c642568bb37990b629 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 13 Aug 2016 20:20:50 +0200 Subject: Platform.MessageDialog: add button-specific clicked signals This is similar to what MessageDialog from QtQuick Dialogs 1.x does, and evidently very convenient and intuitive to use. Change-Id: I8f7e0f98cfbc256e0dd398471b63ecf04d884314 Reviewed-by: J-P Nurmi --- .../platform/qquickplatformmessagedialog.cpp | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) (limited to 'src/imports/platform/qquickplatformmessagedialog.cpp') diff --git a/src/imports/platform/qquickplatformmessagedialog.cpp b/src/imports/platform/qquickplatformmessagedialog.cpp index 62957de1..d7e8881c 100644 --- a/src/imports/platform/qquickplatformmessagedialog.cpp +++ b/src/imports/platform/qquickplatformmessagedialog.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #ifdef QT_WIDGETS_LIB #include "widgets/qwidgetplatformmessagedialog_p.h" @@ -121,6 +122,114 @@ QT_BEGIN_NAMESPACE \sa buttons */ +/*! + \qmlsignal Qt.labs.platform::MessageDialog::okClicked() + + This signal is emitted when \uicontrol Ok is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::saveClicked() + + This signal is emitted when \uicontrol Save is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::saveAllClicked() + + This signal is emitted when \uicontrol {Save All} is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::openClicked() + + This signal is emitted when \uicontrol Open is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::yesClicked() + + This signal is emitted when \uicontrol Yes is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::yesToAllClicked() + + This signal is emitted when \uicontrol {Yes To All} is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::noClicked() + + This signal is emitted when \uicontrol No is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::noToAllClicked() + + This signal is emitted when \uicontrol {No To All} is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::abortClicked() + + This signal is emitted when \uicontrol Abort is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::retryClicked() + + This signal is emitted when \uicontrol Retry is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::ignoreClicked() + + This signal is emitted when \uicontrol Ignore is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::closeClicked() + + This signal is emitted when \uicontrol Close is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::cancelClicked() + + This signal is emitted when \uicontrol Cancel is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::discardClicked() + + This signal is emitted when \uicontrol Discard is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::helpClicked() + + This signal is emitted when \uicontrol Help is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::applyClicked() + + This signal is emitted when \uicontrol Apply is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::resetClicked() + + This signal is emitted when \uicontrol Reset is clicked. +*/ + +/*! + \qmlsignal Qt.labs.platform::MessageDialog::restoreDefaultsClicked() + + This signal is emitted when \uicontrol {Restore Defaults} is clicked. +*/ + Q_DECLARE_LOGGING_CATEGORY(qtLabsPlatformDialogs) QQuickPlatformMessageDialog::QQuickPlatformMessageDialog(QObject *parent) @@ -264,6 +373,28 @@ void QQuickPlatformMessageDialog::handleClick(QPlatformDialogHelper::StandardBut close(); emit clicked(button); + + switch (button) { + case QPlatformDialogHelper::Ok: emit okClicked(); break; + case QPlatformDialogHelper::Save: emit saveClicked(); break; + case QPlatformDialogHelper::SaveAll: emit saveAllClicked(); break; + case QPlatformDialogHelper::Open: emit openClicked(); break; + case QPlatformDialogHelper::Yes: emit yesClicked(); break; + case QPlatformDialogHelper::YesToAll: emit yesToAllClicked(); break; + case QPlatformDialogHelper::No: emit noClicked(); break; + case QPlatformDialogHelper::NoToAll: emit noToAllClicked(); break; + case QPlatformDialogHelper::Abort: emit abortClicked(); break; + case QPlatformDialogHelper::Retry: emit retryClicked(); break; + case QPlatformDialogHelper::Ignore: emit ignoreClicked(); break; + case QPlatformDialogHelper::Close: emit closeClicked(); break; + case QPlatformDialogHelper::Cancel: emit cancelClicked(); break; + case QPlatformDialogHelper::Discard: emit discardClicked(); break; + case QPlatformDialogHelper::Help: emit helpClicked(); break; + case QPlatformDialogHelper::Apply: emit applyClicked(); break; + case QPlatformDialogHelper::Reset: emit resetClicked(); break; + case QPlatformDialogHelper::RestoreDefaults: emit restoreDefaultsClicked(); break; + default: qmlInfo(this) << "unknown button" << button; break; + } } QT_END_NAMESPACE -- cgit v1.2.3