From cb5dd1353b1c4a3f1d53deb69899056de53c3049 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 2 Apr 2019 00:54:37 +0200 Subject: [PATCH] Qt: force always on top to fix dialogs appearing behind the game window --- rpcs3/rpcs3qt/gui_settings.cpp | 8 ++++---- rpcs3/rpcs3qt/gui_settings.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rpcs3/rpcs3qt/gui_settings.cpp b/rpcs3/rpcs3qt/gui_settings.cpp index f5167f08f2..880cfe3613 100644 --- a/rpcs3/rpcs3qt/gui_settings.cpp +++ b/rpcs3/rpcs3qt/gui_settings.cpp @@ -241,7 +241,7 @@ void gui_settings::SetCategoryVisibility(int cat, const bool& val) SetValue(value, val); } -void gui_settings::ShowBox(bool confirm, const QString& title, const QString& text, const gui_save& entry, int* result = nullptr, QWidget* parent = nullptr) +void gui_settings::ShowBox(bool confirm, const QString& title, const QString& text, const gui_save& entry, int* result = nullptr, QWidget* parent = nullptr, bool always_on_top = false) { const std::string dialog_type = confirm ? "Confirmation" : "Info"; @@ -250,7 +250,7 @@ void gui_settings::ShowBox(bool confirm, const QString& title, const QString& te const QFlags buttons = confirm ? QMessageBox::Yes | QMessageBox::No : QMessageBox::Ok; const QMessageBox::Icon icon = confirm ? QMessageBox::Question : QMessageBox::Information; - QMessageBox* mb = new QMessageBox(icon, title, text, buttons, parent); + QMessageBox* mb = new QMessageBox(icon, title, text, buttons, parent, Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint | (always_on_top ? Qt::WindowStaysOnTopHint : Qt::Widget)); mb->deleteLater(); if (!entry.name.isEmpty()) @@ -278,12 +278,12 @@ void gui_settings::ShowBox(bool confirm, const QString& title, const QString& te void gui_settings::ShowConfirmationBox(const QString& title, const QString& text, const gui_save& entry, int* result = nullptr, QWidget* parent = nullptr) { - ShowBox(true, title, text, entry, result, parent); + ShowBox(true, title, text, entry, result, parent, true); } void gui_settings::ShowInfoBox(const QString& title, const QString& text, const gui_save& entry, QWidget* parent = nullptr) { - ShowBox(false, title, text, entry, nullptr, parent); + ShowBox(false, title, text, entry, nullptr, parent, false); } void gui_settings::SetGamelistColVisibility(int col, bool val) diff --git a/rpcs3/rpcs3qt/gui_settings.h b/rpcs3/rpcs3qt/gui_settings.h index 8fcf967a12..6c795fdca5 100644 --- a/rpcs3/rpcs3qt/gui_settings.h +++ b/rpcs3/rpcs3qt/gui_settings.h @@ -289,7 +289,7 @@ public Q_SLOTS: private: QString ComputeSettingsDir(); void BackupSettingsToTarget(const QString& friendly_name); - void ShowBox(bool confirm, const QString& title, const QString& text, const gui_save& entry, int* result, QWidget* parent); + void ShowBox(bool confirm, const QString& title, const QString& text, const gui_save& entry, int* result, QWidget* parent, bool always_on_top); QSettings m_settings; QDir m_settingsDir;