From c16d350539880d77640489d7e92c2349778c78de Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 14 Dec 2016 09:04:29 +0100 Subject: [PATCH] Core: Return some handle when creating an AsynchronousMessageBox User code might want to keep a QPointer around e.g. to prevent double instantiation of some box, or delete it automatically after a while. Change-Id: Iaa994c2abf321c35ffb3bcb0050d72939c55d941 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/messagebox.cpp | 17 +++++++++-------- src/plugins/coreplugin/messagebox.h | 8 +++++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/plugins/coreplugin/messagebox.cpp b/src/plugins/coreplugin/messagebox.cpp index 1dfebd10080..9eb636f16b7 100644 --- a/src/plugins/coreplugin/messagebox.cpp +++ b/src/plugins/coreplugin/messagebox.cpp @@ -34,7 +34,7 @@ namespace AsynchronousMessageBox { namespace { -void message(QMessageBox::Icon icon, const QString &title, const QString &desciption) +QWidget *message(QMessageBox::Icon icon, const QString &title, const QString &desciption) { QMessageBox *messageBox = new QMessageBox(icon, title, @@ -45,23 +45,24 @@ void message(QMessageBox::Icon icon, const QString &title, const QString &descip messageBox->setAttribute(Qt::WA_DeleteOnClose); messageBox->setModal(true); messageBox->show(); + return messageBox; } } -void warning(const QString &title, const QString &desciption) +QWidget *warning(const QString &title, const QString &desciption) { - message(QMessageBox::Warning, title, desciption); + return message(QMessageBox::Warning, title, desciption); } -void information(const QString &title, const QString &desciption) +QWidget *information(const QString &title, const QString &desciption) { - message(QMessageBox::Information, title, desciption); + return message(QMessageBox::Information, title, desciption); } -void critical(const QString &title, const QString &desciption) +QWidget *critical(const QString &title, const QString &desciption) { - message(QMessageBox::Critical, title, desciption); -} + return message(QMessageBox::Critical, title, desciption); } } +} diff --git a/src/plugins/coreplugin/messagebox.h b/src/plugins/coreplugin/messagebox.h index b679636d1f8..32c60dd6831 100644 --- a/src/plugins/coreplugin/messagebox.h +++ b/src/plugins/coreplugin/messagebox.h @@ -29,13 +29,15 @@ QT_BEGIN_NAMESPACE class QString; +class QWidget; QT_END_NAMESPACE namespace Core { namespace AsynchronousMessageBox { - CORE_EXPORT void warning(const QString &title, const QString &desciption); - CORE_EXPORT void information(const QString &title, const QString &desciption); - CORE_EXPORT void critical(const QString &title, const QString &desciption); +CORE_EXPORT QWidget *warning(const QString &title, const QString &desciption); +CORE_EXPORT QWidget *information(const QString &title, const QString &desciption); +CORE_EXPORT QWidget *critical(const QString &title, const QString &desciption); + } }