From 13f618818dc57673ac0287ad8b28ceb450efb374 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Mon, 7 Jun 2021 18:00:36 +0300 Subject: [PATCH] qt: Add GUIUtil::ShowModalDialogAndDeleteOnClose --- src/qt/guiutil.cpp | 8 ++++++++ src/qt/guiutil.h | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index e98e50ba148..bbd33f1de0f 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -958,4 +959,11 @@ void PrintSlotException( PrintExceptionContinue(exception, description.c_str()); } +void ShowModalDialogAndDeleteOnClose(QDialog* dialog) +{ + dialog->setAttribute(Qt::WA_DeleteOnClose); + dialog->setWindowModality(Qt::ApplicationModal); + dialog->show(); +} + } // namespace GUIUtil diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 06a3b636686..274f0bdcbfd 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -41,6 +41,7 @@ class QAbstractButton; class QAbstractItemView; class QAction; class QDateTime; +class QDialog; class QFont; class QKeySequence; class QLineEdit; @@ -417,6 +418,11 @@ namespace GUIUtil type); } + /** + * Shows a QDialog instance asynchronously, and deletes it on close. + */ + void ShowModalDialogAndDeleteOnClose(QDialog* dialog); + } // namespace GUIUtil #endif // BITCOIN_QT_GUIUTIL_H