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 <eike.ziller@qt.io>
This commit is contained in:
hjk
2016-12-14 09:04:29 +01:00
parent 0c20e582e4
commit c16d350539
2 changed files with 14 additions and 11 deletions

View File

@@ -34,7 +34,7 @@ namespace AsynchronousMessageBox {
namespace { 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, QMessageBox *messageBox = new QMessageBox(icon,
title, title,
@@ -45,23 +45,24 @@ void message(QMessageBox::Icon icon, const QString &title, const QString &descip
messageBox->setAttribute(Qt::WA_DeleteOnClose); messageBox->setAttribute(Qt::WA_DeleteOnClose);
messageBox->setModal(true); messageBox->setModal(true);
messageBox->show(); 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);
}
} }
} }
}

View File

@@ -29,13 +29,15 @@
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QString; class QString;
class QWidget;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace Core { namespace Core {
namespace AsynchronousMessageBox { namespace AsynchronousMessageBox {
CORE_EXPORT void warning(const QString &title, const QString &desciption); CORE_EXPORT QWidget *warning(const QString &title, const QString &desciption);
CORE_EXPORT void information(const QString &title, const QString &desciption); CORE_EXPORT QWidget *information(const QString &title, const QString &desciption);
CORE_EXPORT void critical(const QString &title, const QString &desciption); CORE_EXPORT QWidget *critical(const QString &title, const QString &desciption);
} }
} }