Merge pull request #8280 from CookiePLMonster/alert-msg-box-modality-fix

Make alert messages application modal and not window modal
This commit is contained in:
Connor McLaughlin 2019-08-20 10:58:57 +10:00 committed by GitHub
commit 6efab4e3c6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View file

@ -39,7 +39,7 @@ static bool QtMsgAlertHandler(const char* caption, const char* text, bool yes_no
Common::MsgType style)
{
std::optional<bool> r = RunOnObject(QApplication::instance(), [&] {
ModalMessageBox message_box(QApplication::activeWindow());
ModalMessageBox message_box(QApplication::activeWindow(), Qt::ApplicationModal);
message_box.setWindowTitle(QString::fromUtf8(caption));
message_box.setText(QString::fromUtf8(text));

View file

@ -6,10 +6,10 @@
#include <QApplication>
ModalMessageBox::ModalMessageBox(QWidget* parent)
ModalMessageBox::ModalMessageBox(QWidget* parent, Qt::WindowModality modality)
: QMessageBox(parent != nullptr ? parent->window() : nullptr)
{
setWindowModality(Qt::WindowModal);
setWindowModality(modality);
setWindowFlags(Qt::Sheet | Qt::WindowTitleHint | Qt::CustomizeWindowHint);
// No parent is still preferable to showing a hidden parent here.

View file

@ -10,7 +10,7 @@
class ModalMessageBox : public QMessageBox
{
public:
explicit ModalMessageBox(QWidget* parent);
explicit ModalMessageBox(QWidget* parent, Qt::WindowModality modality = Qt::WindowModal);
static int critical(QWidget* parent, const QString& title, const QString& text,
StandardButtons buttons = Ok, StandardButton default_button = NoButton);