From e2fb8fab2f695ee53ab0aa7a5ff2fe752c719ce8 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Mon, 31 Jul 2023 00:42:15 +0200 Subject: [PATCH] DolphinQt: Set window decorations for all top-level QWidgets. --- Source/Core/DolphinQt/Config/ARCodeWidget.cpp | 4 ++++ .../Config/CommonControllersWidget.cpp | 2 ++ .../DualShockUDPClientWidget.cpp | 2 ++ .../DolphinQt/Config/FilesystemWidget.cpp | 2 ++ .../Core/DolphinQt/Config/FreeLookWidget.cpp | 2 ++ .../Config/GamecubeControllersWidget.cpp | 8 ++++++- .../Core/DolphinQt/Config/GeckoCodeWidget.cpp | 3 +++ .../Config/Graphics/EnhancementsWidget.cpp | 9 +++++-- .../Config/Graphics/GeneralWidget.cpp | 2 ++ .../Config/Mapping/FreeLookRotation.cpp | 2 ++ .../Config/Mapping/MappingButton.cpp | 2 ++ .../Config/Mapping/MappingWidget.cpp | 3 +++ .../Config/Mapping/MappingWindow.cpp | 4 ++++ .../WiimoteEmuExtensionMotionInput.cpp | 2 ++ .../Mapping/WiimoteEmuMotionControlIMU.cpp | 2 ++ .../Core/DolphinQt/Config/PatchesWidget.cpp | 17 +++++++++++-- Source/Core/DolphinQt/Config/VerifyWidget.cpp | 2 ++ .../Config/WiimoteControllersWidget.cpp | 2 ++ Source/Core/DolphinQt/ConvertDialog.cpp | 4 ++++ .../DolphinQt/Debugger/BreakpointWidget.cpp | 4 ++++ .../DolphinQt/Debugger/CodeViewWidget.cpp | 3 +++ Source/Core/DolphinQt/Debugger/CodeWidget.cpp | 2 ++ .../DolphinQt/Debugger/RegisterWidget.cpp | 2 ++ Source/Core/DolphinQt/DiscordHandler.cpp | 2 ++ Source/Core/DolphinQt/GBAWidget.cpp | 2 ++ Source/Core/DolphinQt/GCMemcardManager.cpp | 2 ++ Source/Core/DolphinQt/GameList/GameList.cpp | 8 +++++++ .../InfinityBase/InfinityBaseWindow.cpp | 2 ++ Source/Core/DolphinQt/Main.cpp | 3 +++ Source/Core/DolphinQt/MainWindow.cpp | 24 +++++++++++++++++++ Source/Core/DolphinQt/MenuBar.cpp | 10 ++++++-- Source/Core/DolphinQt/NKitWarningDialog.cpp | 7 ++++-- .../Core/DolphinQt/NetPlay/NetPlayBrowser.cpp | 2 ++ .../Core/DolphinQt/NetPlay/NetPlayDialog.cpp | 4 ++++ .../DolphinQt/QtUtils/ModalMessageBox.cpp | 3 +++ Source/Core/DolphinQt/ResourcePackManager.cpp | 2 ++ .../Core/DolphinQt/Settings/GameCubePane.cpp | 19 +++++++++++---- .../Core/DolphinQt/Settings/GeneralPane.cpp | 2 ++ Source/Core/DolphinQt/Settings/WiiPane.cpp | 4 ++++ .../SkylanderPortal/SkylanderPortalWindow.cpp | 2 ++ .../Core/DolphinQt/TAS/WiiTASInputWindow.cpp | 13 ++++++++++ Source/Core/DolphinQt/Updater.cpp | 2 ++ Source/Core/DolphinQt/WiiUpdate.cpp | 2 ++ 43 files changed, 187 insertions(+), 13 deletions(-) diff --git a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp index 667f9373c1..a25d6fe7ab 100644 --- a/Source/Core/DolphinQt/Config/ARCodeWidget.cpp +++ b/Source/Core/DolphinQt/Config/ARCodeWidget.cpp @@ -22,6 +22,7 @@ #include "DolphinQt/Config/CheatCodeEditor.h" #include "DolphinQt/Config/CheatWarningWidget.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "UICommon/GameFile.h" @@ -230,6 +231,7 @@ void ARCodeWidget::OnCodeAddClicked() CheatCodeEditor ed(this); ed.SetARCode(&ar); + SetQWidgetWindowDecorations(&ed); if (ed.exec() == QDialog::Rejected) return; @@ -253,6 +255,7 @@ void ARCodeWidget::OnCodeEditClicked() { ed.SetARCode(¤t_ar); + SetQWidgetWindowDecorations(&ed); if (ed.exec() == QDialog::Rejected) return; } @@ -261,6 +264,7 @@ void ARCodeWidget::OnCodeEditClicked() ActionReplay::ARCode ar = current_ar; ed.SetARCode(&ar); + SetQWidgetWindowDecorations(&ed); if (ed.exec() == QDialog::Rejected) return; diff --git a/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp b/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp index e988509f6a..9535895a73 100644 --- a/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/CommonControllersWidget.cpp @@ -13,6 +13,7 @@ #include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -59,6 +60,7 @@ void CommonControllersWidget::OnControllerInterfaceConfigure() ControllerInterfaceWindow* window = new ControllerInterfaceWindow(this); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); } diff --git a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp index 90237057e0..04ed5437df 100644 --- a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp +++ b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp @@ -14,6 +14,7 @@ #include "Common/Config/Config.h" #include "DolphinQt/Config/ControllerInterface/DualShockUDPClientAddServerDialog.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.h" DualShockUDPClientWidget::DualShockUDPClientWidget() @@ -111,6 +112,7 @@ void DualShockUDPClientWidget::OnServerAdded() DualShockUDPClientAddServerDialog add_server_dialog(this); connect(&add_server_dialog, &DualShockUDPClientAddServerDialog::accepted, this, &DualShockUDPClientWidget::RefreshServerList); + SetQWidgetWindowDecorations(&add_server_dialog); add_server_dialog.exec(); } diff --git a/Source/Core/DolphinQt/Config/FilesystemWidget.cpp b/Source/Core/DolphinQt/Config/FilesystemWidget.cpp index 7dbf0014ea..56aff5b9df 100644 --- a/Source/Core/DolphinQt/Config/FilesystemWidget.cpp +++ b/Source/Core/DolphinQt/Config/FilesystemWidget.cpp @@ -25,6 +25,7 @@ #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "UICommon/UICommon.h" @@ -364,6 +365,7 @@ void FilesystemWidget::ExtractDirectory(const DiscIO::Partition& partition, cons dialog.Reset(); }); + SetQWidgetWindowDecorations(dialog.GetRaw()); dialog.GetRaw()->exec(); future.get(); } diff --git a/Source/Core/DolphinQt/Config/FreeLookWidget.cpp b/Source/Core/DolphinQt/Config/FreeLookWidget.cpp index e0524c06d7..5fe1ecd66d 100644 --- a/Source/Core/DolphinQt/Config/FreeLookWidget.cpp +++ b/Source/Core/DolphinQt/Config/FreeLookWidget.cpp @@ -17,6 +17,7 @@ #include "DolphinQt/Config/Mapping/MappingWindow.h" #include "DolphinQt/Config/ToolTipControls/ToolTipCheckBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" FreeLookWidget::FreeLookWidget(QWidget* parent) : QWidget(parent) @@ -97,6 +98,7 @@ void FreeLookWidget::OnFreeLookControllerConfigured() MappingWindow* window = new MappingWindow(this, MappingWindow::Type::MAPPING_FREELOOK, index); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); } diff --git a/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp b/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp index 38ea1e4e7f..7fb37866ac 100644 --- a/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/GamecubeControllersWidget.cpp @@ -24,6 +24,7 @@ #include "DolphinQt/Config/Mapping/GCPadWiiUConfigDialog.h" #include "DolphinQt/Config/Mapping/MappingWindow.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -137,8 +138,12 @@ void GamecubeControllersWidget::OnGCPadConfigure(size_t index) type = MappingWindow::Type::MAPPING_GCPAD; break; case SerialInterface::SIDEVICE_WIIU_ADAPTER: - GCPadWiiUConfigDialog(static_cast(index), this).exec(); + { + GCPadWiiUConfigDialog dialog(static_cast(index), this); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); return; + } case SerialInterface::SIDEVICE_GC_STEERING: type = MappingWindow::Type::MAPPING_GC_STEERINGWHEEL; break; @@ -161,6 +166,7 @@ void GamecubeControllersWidget::OnGCPadConfigure(size_t index) MappingWindow* window = new MappingWindow(this, type, static_cast(index)); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); } diff --git a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp index 124bb20185..988bcf329c 100644 --- a/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp +++ b/Source/Core/DolphinQt/Config/GeckoCodeWidget.cpp @@ -28,6 +28,7 @@ #include "DolphinQt/Config/CheatWarningWidget.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "UICommon/GameFile.h" @@ -201,6 +202,7 @@ void GeckoCodeWidget::AddCode() CheatCodeEditor ed(this); ed.SetGeckoCode(&code); + SetQWidgetWindowDecorations(&ed); if (ed.exec() == QDialog::Rejected) return; @@ -219,6 +221,7 @@ void GeckoCodeWidget::EditCode() CheatCodeEditor ed(this); ed.SetGeckoCode(&m_gecko_codes[index]); + SetQWidgetWindowDecorations(&ed); if (ed.exec() == QDialog::Rejected) return; diff --git a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp index c1c0495929..09e8ec11e0 100644 --- a/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/EnhancementsWidget.cpp @@ -22,6 +22,7 @@ #include "DolphinQt/Config/Graphics/GraphicsWindow.h" #include "DolphinQt/Config/Graphics/PostProcessingConfigWindow.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" #include "VideoCommon/PostProcessing.h" @@ -570,11 +571,15 @@ void EnhancementsWidget::AddDescriptions() void EnhancementsWidget::ConfigureColorCorrection() { - ColorCorrectionConfigWindow(this).exec(); + ColorCorrectionConfigWindow dialog(this); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); } void EnhancementsWidget::ConfigurePostProcessingShader() { const std::string shader = Config::Get(Config::GFX_ENHANCE_POST_SHADER); - PostProcessingConfigWindow(this, shader).exec(); + PostProcessingConfigWindow dialog(this, shader); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); } diff --git a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp index 8733419f60..95a39f9a45 100644 --- a/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/GeneralWidget.cpp @@ -24,6 +24,7 @@ #include "DolphinQt/Config/Graphics/GraphicsWindow.h" #include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" #include "VideoCommon/VideoBackendBase.h" @@ -164,6 +165,7 @@ void GeneralWidget::SaveSettings() confirm_sw.setWindowTitle(tr("Confirm backend change")); confirm_sw.setText(tr(warningMessage->c_str())); + SetQWidgetWindowDecorations(&confirm_sw); if (confirm_sw.exec() != QMessageBox::Yes) { m_backend_combo->setCurrentIndex(m_backend_combo->findData( diff --git a/Source/Core/DolphinQt/Config/Mapping/FreeLookRotation.cpp b/Source/Core/DolphinQt/Config/Mapping/FreeLookRotation.cpp index dfd8532624..d6594fb063 100644 --- a/Source/Core/DolphinQt/Config/Mapping/FreeLookRotation.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/FreeLookRotation.cpp @@ -11,6 +11,7 @@ #include "Core/FreeLookManager.h" #include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/InputConfig.h" FreeLookRotation::FreeLookRotation(MappingWindow* window) : MappingWidget(window) @@ -33,6 +34,7 @@ void FreeLookRotation::CreateMainLayout() ControllerInterfaceWindow* window = new ControllerInterfaceWindow(this); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); }); m_main_layout->addLayout(alternate_input_layout, 0, 0, 1, -1); diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingButton.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingButton.cpp index 78c776007d..bfc3d751e4 100644 --- a/Source/Core/DolphinQt/Config/Mapping/MappingButton.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/MappingButton.cpp @@ -12,6 +12,7 @@ #include "DolphinQt/Config/Mapping/MappingCommon.h" #include "DolphinQt/Config/Mapping/MappingWidget.h" #include "DolphinQt/Config/Mapping/MappingWindow.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/ControlReference/ControlReference.h" #include "InputCommon/ControllerEmu/ControlGroup/Buttons.h" @@ -97,6 +98,7 @@ void MappingButton::AdvancedPressed() { IOWindow io(m_parent, m_parent->GetController(), m_reference, m_reference->IsInput() ? IOWindow::Type::Input : IOWindow::Type::Output); + SetQWidgetWindowDecorations(&io); io.exec(); ConfigChanged(); diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp index 02d8c852b7..cfb9483ba6 100644 --- a/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp @@ -16,6 +16,7 @@ #include "DolphinQt/Config/Mapping/MappingIndicator.h" #include "DolphinQt/Config/Mapping/MappingNumeric.h" #include "DolphinQt/Config/Mapping/MappingWindow.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/ControlReference/ControlReference.h" #include "InputCommon/ControllerEmu/Control/Control.h" @@ -248,6 +249,7 @@ void MappingWidget::ShowAdvancedControlGroupDialog(ControllerEmu::ControlGroup* // Enable "Close" button functionality. connect(button_box, &QDialogButtonBox::rejected, &dialog, &QDialog::reject); + SetQWidgetWindowDecorations(&dialog); dialog.exec(); } @@ -303,6 +305,7 @@ MappingWidget::CreateSettingAdvancedMappingButton(ControllerEmu::NumericSettingB setting.SetExpressionFromValue(); IOWindow io(this, GetController(), &setting.GetInputReference(), IOWindow::Type::Input); + SetQWidgetWindowDecorations(&io); io.exec(); setting.SimplifyIfPossible(); diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp index dcb1cc83a1..688870869e 100644 --- a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp @@ -49,6 +49,7 @@ #include "DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/WindowActivationEventFilter.h" #include "DolphinQt/QtUtils/WrapInScrollArea.h" #include "DolphinQt/Settings.h" @@ -255,6 +256,7 @@ void MappingWindow::OnDeleteProfilePressed() error.setIcon(QMessageBox::Critical); error.setWindowTitle(tr("Error")); error.setText(tr("The profile '%1' does not exist").arg(profile_name)); + SetQWidgetWindowDecorations(&error); error.exec(); return; } @@ -267,6 +269,7 @@ void MappingWindow::OnDeleteProfilePressed() confirm.setInformativeText(tr("This cannot be undone!")); confirm.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel); + SetQWidgetWindowDecorations(&confirm); if (confirm.exec() != QMessageBox::Yes) { return; @@ -294,6 +297,7 @@ void MappingWindow::OnLoadProfilePressed() error.setIcon(QMessageBox::Critical); error.setWindowTitle(tr("Error")); error.setText(tr("The profile '%1' does not exist").arg(m_profiles_combo->currentText())); + SetQWidgetWindowDecorations(&error); error.exec(); return; } diff --git a/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuExtensionMotionInput.cpp b/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuExtensionMotionInput.cpp index 9292cecc9d..4e004cd8b5 100644 --- a/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuExtensionMotionInput.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuExtensionMotionInput.cpp @@ -14,6 +14,7 @@ #include "Core/HW/WiimoteEmu/WiimoteEmu.h" #include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/InputConfig.h" @@ -42,6 +43,7 @@ void WiimoteEmuExtensionMotionInput::CreateNunchukLayout() ControllerInterfaceWindow* window = new ControllerInterfaceWindow(this); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); }); layout->addLayout(warning_layout, 0, 0, 1, -1); diff --git a/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.cpp b/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.cpp index dfa29bfb15..8d07e9201e 100644 --- a/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.cpp @@ -15,6 +15,7 @@ #include "Core/HW/WiimoteEmu/WiimoteEmu.h" #include "DolphinQt/Config/ControllerInterface/ControllerInterfaceWindow.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "InputCommon/InputConfig.h" @@ -40,6 +41,7 @@ void WiimoteEmuMotionControlIMU::CreateMainLayout() ControllerInterfaceWindow* window = new ControllerInterfaceWindow(this); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); }); diff --git a/Source/Core/DolphinQt/Config/PatchesWidget.cpp b/Source/Core/DolphinQt/Config/PatchesWidget.cpp index a8abbf72ba..e1fd12f913 100644 --- a/Source/Core/DolphinQt/Config/PatchesWidget.cpp +++ b/Source/Core/DolphinQt/Config/PatchesWidget.cpp @@ -15,6 +15,7 @@ #include "Core/PatchEngine.h" #include "DolphinQt/Config/NewPatchDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "UICommon/GameFile.h" @@ -74,7 +75,13 @@ void PatchesWidget::OnAdd() PatchEngine::Patch patch; patch.user_defined = true; - if (NewPatchDialog(this, patch).exec()) + bool new_patch_confirmed = false; + { + NewPatchDialog dialog(this, patch); + SetQWidgetWindowDecorations(&dialog); + new_patch_confirmed = dialog.exec(); + } + if (new_patch_confirmed) { m_patches.push_back(patch); SavePatches(); @@ -98,7 +105,13 @@ void PatchesWidget::OnEdit() patch.name = tr("%1 (Copy)").arg(QString::fromStdString(patch.name)).toStdString(); } - if (NewPatchDialog(this, patch).exec()) + bool new_patch_confirmed = false; + { + NewPatchDialog dialog(this, patch); + SetQWidgetWindowDecorations(&dialog); + new_patch_confirmed = dialog.exec(); + } + if (new_patch_confirmed) { if (patch.user_defined) { diff --git a/Source/Core/DolphinQt/Config/VerifyWidget.cpp b/Source/Core/DolphinQt/Config/VerifyWidget.cpp index 87879c6659..6b21d77690 100644 --- a/Source/Core/DolphinQt/Config/VerifyWidget.cpp +++ b/Source/Core/DolphinQt/Config/VerifyWidget.cpp @@ -20,6 +20,7 @@ #include "DiscIO/Volume.h" #include "DiscIO/VolumeVerifier.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" VerifyWidget::VerifyWidget(std::shared_ptr volume) : m_volume(std::move(volume)) @@ -180,6 +181,7 @@ void VerifyWidget::Verify() return result; }); + SetQWidgetWindowDecorations(progress.GetRaw()); progress.GetRaw()->exec(); std::optional result = future.get(); diff --git a/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp b/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp index 28f15a46d7..d702acf5e1 100644 --- a/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp +++ b/Source/Core/DolphinQt/Config/WiimoteControllersWidget.cpp @@ -33,6 +33,7 @@ #include "DolphinQt/Config/Mapping/MappingWindow.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -261,6 +262,7 @@ void WiimoteControllersWidget::OnWiimoteConfigure(size_t index) MappingWindow* window = new MappingWindow(this, type, static_cast(index)); window->setAttribute(Qt::WA_DeleteOnClose, true); window->setWindowModality(Qt::WindowModality::WindowModal); + SetQWidgetWindowDecorations(window); window->show(); } diff --git a/Source/Core/DolphinQt/ConvertDialog.cpp b/Source/Core/DolphinQt/ConvertDialog.cpp index 85b48edb6c..e6be43015f 100644 --- a/Source/Core/DolphinQt/ConvertDialog.cpp +++ b/Source/Core/DolphinQt/ConvertDialog.cpp @@ -31,6 +31,7 @@ #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "UICommon/GameFile.h" #include "UICommon/UICommon.h" @@ -285,6 +286,7 @@ bool ConvertDialog::ShowAreYouSureDialog(const QString& text) warning.setInformativeText(text); warning.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + SetQWidgetWindowDecorations(&warning); return warning.exec() == QMessageBox::Yes; } @@ -409,6 +411,7 @@ void ConvertDialog::Convert() .arg(dst_info.fileName())); confirm_replace.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + SetQWidgetWindowDecorations(&confirm_replace); if (confirm_replace.exec() == QMessageBox::No) continue; } @@ -519,6 +522,7 @@ void ConvertDialog::Convert() break; } + SetQWidgetWindowDecorations(progress_dialog.GetRaw()); progress_dialog.GetRaw()->exec(); if (!success.get()) { diff --git a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp index de04411ece..bf29361973 100644 --- a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp @@ -22,6 +22,7 @@ #include "DolphinQt/Debugger/BreakpointDialog.h" #include "DolphinQt/Debugger/MemoryWidget.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" @@ -313,6 +314,7 @@ void BreakpointWidget::OnClear() void BreakpointWidget::OnNewBreakpoint() { BreakpointDialog* dialog = new BreakpointDialog(this); + SetQWidgetWindowDecorations(dialog); dialog->exec(); } @@ -322,12 +324,14 @@ void BreakpointWidget::OnEditBreakpoint(u32 address, bool is_instruction_bp) { auto* dialog = new BreakpointDialog(this, m_system.GetPowerPC().GetBreakPoints().GetBreakpoint(address)); + SetQWidgetWindowDecorations(dialog); dialog->exec(); } else { auto* dialog = new BreakpointDialog(this, m_system.GetPowerPC().GetMemChecks().GetMemCheck(address)); + SetQWidgetWindowDecorations(dialog); dialog->exec(); } diff --git a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp index 625a5fabb8..65ddd69692 100644 --- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp @@ -37,6 +37,7 @@ #include "Core/System.h" #include "DolphinQt/Debugger/PatchInstructionDialog.h" #include "DolphinQt/Host.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" @@ -733,6 +734,7 @@ void CodeViewWidget::AutoStep(CodeTrace::AutoStop option) .arg(QString::fromStdString(fmt::format("{:#x}", fmt::join(mem_out, ", ")))); msgbox.setInformativeText(msgtext); + SetQWidgetWindowDecorations(&msgbox); msgbox.exec(); } while (msgbox.clickedButton() == (QAbstractButton*)run_button); @@ -1010,6 +1012,7 @@ void CodeViewWidget::OnReplaceInstruction() auto& debug_interface = m_system.GetPowerPC().GetDebugInterface(); PatchInstructionDialog dialog(this, addr, debug_interface.ReadInstruction(guard, addr)); + SetQWidgetWindowDecorations(&dialog); if (dialog.exec() == QDialog::Accepted) { debug_interface.SetPatch(guard, addr, dialog.GetCode()); diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp index 4315196996..650e17e905 100644 --- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp @@ -28,6 +28,7 @@ #include "Core/PowerPC/PowerPC.h" #include "Core/System.h" #include "DolphinQt/Host.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" static const QString BOX_SPLITTER_STYLESHEET = QStringLiteral( @@ -213,6 +214,7 @@ void CodeWidget::OnDiff() if (!m_diff_dialog) m_diff_dialog = new CodeDiffDialog(this); m_diff_dialog->setWindowFlag(Qt::WindowMinimizeButtonHint); + SetQWidgetWindowDecorations(m_diff_dialog); m_diff_dialog->show(); m_diff_dialog->raise(); m_diff_dialog->activateWindow(); diff --git a/Source/Core/DolphinQt/Debugger/RegisterWidget.cpp b/Source/Core/DolphinQt/Debugger/RegisterWidget.cpp index 324d680dbb..fa31e620fc 100644 --- a/Source/Core/DolphinQt/Debugger/RegisterWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/RegisterWidget.cpp @@ -18,6 +18,7 @@ #include "Core/PowerPC/PowerPC.h" #include "Core/System.h" #include "DolphinQt/Host.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" RegisterWidget::RegisterWidget(QWidget* parent) @@ -307,6 +308,7 @@ void RegisterWidget::AutoStep(const std::string& reg) const break; // Can keep running and try again after a time out. + SetQWidgetWindowDecorations(&msgbox); msgbox.exec(); if (msgbox.clickedButton() != (QAbstractButton*)run_button) break; diff --git a/Source/Core/DolphinQt/DiscordHandler.cpp b/Source/Core/DolphinQt/DiscordHandler.cpp index 49363321db..7e14dce42d 100644 --- a/Source/Core/DolphinQt/DiscordHandler.cpp +++ b/Source/Core/DolphinQt/DiscordHandler.cpp @@ -16,6 +16,7 @@ #include "DolphinQt/DiscordJoinRequestDialog.h" #include "DolphinQt/QtUtils/RunOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" DiscordHandler::DiscordHandler(QWidget* parent) : QObject{parent}, m_parent{parent} { @@ -60,6 +61,7 @@ void DiscordHandler::ShowNewJoinRequest(const std::string& id, const std::string std::lock_guard lock(m_request_dialogs_mutex); m_request_dialogs.emplace_front(m_parent, id, discord_tag, avatar); DiscordJoinRequestDialog& request_dialog = m_request_dialogs.front(); + SetQWidgetWindowDecorations(&request_dialog); request_dialog.show(); request_dialog.raise(); request_dialog.activateWindow(); diff --git a/Source/Core/DolphinQt/GBAWidget.cpp b/Source/Core/DolphinQt/GBAWidget.cpp index 6805321df5..0a7ba2b84d 100644 --- a/Source/Core/DolphinQt/GBAWidget.cpp +++ b/Source/Core/DolphinQt/GBAWidget.cpp @@ -29,6 +29,7 @@ #include "Core/System.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/GameCubePane.h" @@ -486,6 +487,7 @@ void GBAWidget::contextMenuEvent(QContextMenuEvent* event) size_menu->addAction(x4_action); menu->move(event->globalPos()); + SetQWidgetWindowDecorations(menu); menu->show(); } diff --git a/Source/Core/DolphinQt/GCMemcardManager.cpp b/Source/Core/DolphinQt/GCMemcardManager.cpp index 8bbe9061dc..405bee200e 100644 --- a/Source/Core/DolphinQt/GCMemcardManager.cpp +++ b/Source/Core/DolphinQt/GCMemcardManager.cpp @@ -42,6 +42,7 @@ #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" using namespace ExpansionInterface; @@ -695,6 +696,7 @@ void GCMemcardManager::FixChecksums() void GCMemcardManager::CreateNewCard(Slot slot) { GCMemcardCreateNewDialog dialog(this); + SetQWidgetWindowDecorations(&dialog); if (dialog.exec() == QDialog::Accepted) m_slot_file_edit[slot]->setText(QString::fromStdString(dialog.GetMemoryCardPath())); } diff --git a/Source/Core/DolphinQt/GameList/GameList.cpp b/Source/Core/DolphinQt/GameList/GameList.cpp index c918c4555d..9f2731af65 100644 --- a/Source/Core/DolphinQt/GameList/GameList.cpp +++ b/Source/Core/DolphinQt/GameList/GameList.cpp @@ -67,6 +67,7 @@ #include "DolphinQt/QtUtils/DoubleClickEventFilter.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" #include "DolphinQt/WiiUpdate.h" @@ -546,6 +547,7 @@ void GameList::OpenProperties() connect(properties, &PropertiesDialog::OpenGraphicsSettings, this, &GameList::OpenGraphicsSettings); + SetQWidgetWindowDecorations(properties); properties->show(); } @@ -600,6 +602,7 @@ void GameList::ConvertFile() return; ConvertDialog dialog{std::move(games), this}; + SetQWidgetWindowDecorations(&dialog); dialog.exec(); } @@ -617,6 +620,7 @@ void GameList::InstallWAD() result_dialog.setWindowTitle(success ? tr("Success") : tr("Failure")); result_dialog.setText(success ? tr("Successfully installed this title to the NAND.") : tr("Failed to install this title to the NAND.")); + SetQWidgetWindowDecorations(&result_dialog); result_dialog.exec(); } @@ -634,6 +638,7 @@ void GameList::UninstallWAD() "this title from the NAND without deleting its save data. Continue?")); warning_dialog.setStandardButtons(QMessageBox::No | QMessageBox::Yes); + SetQWidgetWindowDecorations(&warning_dialog); if (warning_dialog.exec() == QMessageBox::No) return; @@ -645,6 +650,7 @@ void GameList::UninstallWAD() result_dialog.setWindowTitle(success ? tr("Success") : tr("Failure")); result_dialog.setText(success ? tr("Successfully removed this title from the NAND.") : tr("Failed to remove this title from the NAND.")); + SetQWidgetWindowDecorations(&result_dialog); result_dialog.exec(); } @@ -818,6 +824,7 @@ void GameList::DeleteFile() confirm_dialog.setInformativeText(tr("This cannot be undone!")); confirm_dialog.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel); + SetQWidgetWindowDecorations(&confirm_dialog); if (confirm_dialog.exec() == QMessageBox::Yes) { for (const auto& game : GetSelectedGames()) @@ -843,6 +850,7 @@ void GameList::DeleteFile() "delete the file or whether it's still in use.")); error_dialog.setStandardButtons(QMessageBox::Retry | QMessageBox::Abort); + SetQWidgetWindowDecorations(&error_dialog); if (error_dialog.exec() == QMessageBox::Abort) break; } diff --git a/Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp b/Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp index 685c582f33..cb66245cb4 100644 --- a/Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp +++ b/Source/Core/DolphinQt/InfinityBase/InfinityBaseWindow.cpp @@ -26,6 +26,7 @@ #include "Core/System.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" // Qt is not guaranteed to keep track of file paths using native file pickers, so we use this @@ -149,6 +150,7 @@ void InfinityBaseWindow::LoadFigure(u8 slot) void InfinityBaseWindow::CreateFigure(u8 slot) { CreateFigureDialog create_dlg(this, slot); + SetQWidgetWindowDecorations(&create_dlg); if (create_dlg.exec() == CreateFigureDialog::Accepted) { LoadFigurePath(slot, create_dlg.GetFilePath()); diff --git a/Source/Core/DolphinQt/Main.cpp b/Source/Core/DolphinQt/Main.cpp index a530f14f8d..611efe47ed 100644 --- a/Source/Core/DolphinQt/Main.cpp +++ b/Source/Core/DolphinQt/Main.cpp @@ -35,6 +35,7 @@ #include "DolphinQt/MainWindow.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/RunOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Translation.h" @@ -92,6 +93,7 @@ static bool QtMsgAlertHandler(const char* caption, const char* text, bool yes_no return QMessageBox::NoIcon; }()); + SetQWidgetWindowDecorations(&message_box); const int button = message_box.exec(); if (button == QMessageBox::Yes) return true; @@ -284,6 +286,7 @@ int main(int argc, char* argv[]) "This authorization can be revoked at any time through Dolphin's " "settings.")); + SetQWidgetWindowDecorations(&analytics_prompt); const int answer = analytics_prompt.exec(); Config::SetBase(Config::MAIN_ANALYTICS_PERMISSION_ASKED, true); diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index 42a6a04603..b193fe15c7 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -108,6 +108,7 @@ #include "DolphinQt/QtUtils/ParallelProgressDialog.h" #include "DolphinQt/QtUtils/QueueOnObject.h" #include "DolphinQt/QtUtils/RunOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/WindowActivationEventFilter.h" #include "DolphinQt/RenderWidget.h" #include "DolphinQt/ResourcePackManager.h" @@ -1225,6 +1226,7 @@ void MainWindow::ShowControllersWindow() InstallHotkeyFilter(m_controllers_window); } + SetQWidgetWindowDecorations(m_controllers_window); m_controllers_window->show(); m_controllers_window->raise(); m_controllers_window->activateWindow(); @@ -1238,6 +1240,7 @@ void MainWindow::ShowFreeLookWindow() InstallHotkeyFilter(m_freelook_window); } + SetQWidgetWindowDecorations(m_freelook_window); m_freelook_window->show(); m_freelook_window->raise(); m_freelook_window->activateWindow(); @@ -1251,6 +1254,7 @@ void MainWindow::ShowSettingsWindow() InstallHotkeyFilter(m_settings_window); } + SetQWidgetWindowDecorations(m_settings_window); m_settings_window->show(); m_settings_window->raise(); m_settings_window->activateWindow(); @@ -1271,6 +1275,7 @@ void MainWindow::ShowGeneralWindow() void MainWindow::ShowAboutDialog() { AboutDialog about{this}; + SetQWidgetWindowDecorations(&about); about.exec(); } @@ -1282,6 +1287,7 @@ void MainWindow::ShowHotkeyDialog() InstallHotkeyFilter(m_hotkey_window); } + SetQWidgetWindowDecorations(m_hotkey_window); m_hotkey_window->show(); m_hotkey_window->raise(); m_hotkey_window->activateWindow(); @@ -1304,6 +1310,7 @@ void MainWindow::ShowGraphicsWindow() InstallHotkeyFilter(m_graphics_window); } + SetQWidgetWindowDecorations(m_graphics_window); m_graphics_window->show(); m_graphics_window->raise(); m_graphics_window->activateWindow(); @@ -1311,6 +1318,7 @@ void MainWindow::ShowGraphicsWindow() void MainWindow::ShowNetPlaySetupDialog() { + SetQWidgetWindowDecorations(m_netplay_setup_dialog); m_netplay_setup_dialog->show(); m_netplay_setup_dialog->raise(); m_netplay_setup_dialog->activateWindow(); @@ -1321,6 +1329,7 @@ void MainWindow::ShowNetPlayBrowser() auto* browser = new NetPlayBrowser(this); browser->setAttribute(Qt::WA_DeleteOnClose, true); connect(browser, &NetPlayBrowser::Join, this, &MainWindow::NetPlayJoin); + SetQWidgetWindowDecorations(browser); browser->exec(); } @@ -1333,6 +1342,7 @@ void MainWindow::ShowFIFOPlayer() [this](const QString& path) { StartGame(path, ScanForSecondDisc::No); }); } + SetQWidgetWindowDecorations(m_fifo_window); m_fifo_window->show(); m_fifo_window->raise(); m_fifo_window->activateWindow(); @@ -1345,6 +1355,7 @@ void MainWindow::ShowSkylanderPortal() m_skylander_window = new SkylanderPortalWindow(); } + SetQWidgetWindowDecorations(m_skylander_window); m_skylander_window->show(); m_skylander_window->raise(); m_skylander_window->activateWindow(); @@ -1357,6 +1368,7 @@ void MainWindow::ShowInfinityBase() m_infinity_window = new InfinityBaseWindow(); } + SetQWidgetWindowDecorations(m_infinity_window); m_infinity_window->show(); m_infinity_window->raise(); m_infinity_window->activateWindow(); @@ -1759,6 +1771,7 @@ void MainWindow::OnImportNANDBackup() dialog.Reset(); }); + SetQWidgetWindowDecorations(dialog.GetRaw()); dialog.GetRaw()->exec(); result.wait(); @@ -1866,6 +1879,7 @@ void MainWindow::ShowTASInput() const auto si_device = Config::Get(Config::GetInfoForSIDevice(i)); if (si_device == SerialInterface::SIDEVICE_GC_GBA_EMULATED) { + SetQWidgetWindowDecorations(m_gba_tas_input_windows[i]); m_gba_tas_input_windows[i]->show(); m_gba_tas_input_windows[i]->raise(); m_gba_tas_input_windows[i]->activateWindow(); @@ -1873,6 +1887,7 @@ void MainWindow::ShowTASInput() else if (si_device != SerialInterface::SIDEVICE_NONE && si_device != SerialInterface::SIDEVICE_GC_GBA) { + SetQWidgetWindowDecorations(m_gc_tas_input_windows[i]); m_gc_tas_input_windows[i]->show(); m_gc_tas_input_windows[i]->raise(); m_gc_tas_input_windows[i]->activateWindow(); @@ -1884,6 +1899,7 @@ void MainWindow::ShowTASInput() if (Config::Get(Config::GetInfoForWiimoteSource(i)) == WiimoteSource::Emulated && (!Core::IsRunning() || SConfig::GetInstance().bWii)) { + SetQWidgetWindowDecorations(m_wii_tas_input_windows[i]); m_wii_tas_input_windows[i]->show(); m_wii_tas_input_windows[i]->raise(); m_wii_tas_input_windows[i]->activateWindow(); @@ -1910,6 +1926,7 @@ void MainWindow::ShowAchievementsWindow() m_achievements_window = new AchievementsWindow(this); } + SetQWidgetWindowDecorations(m_achievements_window); m_achievements_window->show(); m_achievements_window->raise(); m_achievements_window->activateWindow(); @@ -1920,6 +1937,7 @@ void MainWindow::ShowMemcardManager() { GCMemcardManager manager(this); + SetQWidgetWindowDecorations(&manager); manager.exec(); } @@ -1927,11 +1945,13 @@ void MainWindow::ShowResourcePackManager() { ResourcePackManager manager(this); + SetQWidgetWindowDecorations(&manager); manager.exec(); } void MainWindow::ShowCheatsManager() { + SetQWidgetWindowDecorations(m_cheats_manager); m_cheats_manager->show(); } @@ -1950,6 +1970,7 @@ void MainWindow::ShowRiivolutionBootWidget(const UICommon::GameFile& game) auto& disc = std::get(boot_params->parameters); RiivolutionBootWidget w(disc.volume->GetGameID(), disc.volume->GetRevision(), disc.volume->GetDiscNumber(), game.GetFilePath(), this); + SetQWidgetWindowDecorations(&w); w.exec(); if (!w.ShouldBoot()) return; @@ -1961,7 +1982,10 @@ void MainWindow::ShowRiivolutionBootWidget(const UICommon::GameFile& game) void MainWindow::Show() { if (!Settings::Instance().IsBatchModeEnabled()) + { + SetQWidgetWindowDecorations(this); QWidget::show(); + } // If the booting of a game was requested on start up, do that now if (m_pending_boot != nullptr) diff --git a/Source/Core/DolphinQt/MenuBar.cpp b/Source/Core/DolphinQt/MenuBar.cpp index 37562a738c..664e40dd05 100644 --- a/Source/Core/DolphinQt/MenuBar.cpp +++ b/Source/Core/DolphinQt/MenuBar.cpp @@ -59,6 +59,7 @@ #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Updater.h" @@ -1178,8 +1179,12 @@ void MenuBar::CheckNAND() return; } - if (NANDRepairDialog(result, this).exec() != QDialog::Accepted) - return; + { + NANDRepairDialog dialog(result, this); + SetQWidgetWindowDecorations(&dialog); + if (dialog.exec() != QDialog::Accepted) + return; + } if (WiiUtils::RepairNAND(ios)) { @@ -1336,6 +1341,7 @@ void MenuBar::GenerateSymbolsFromRSOAuto() return matches; }); + SetQWidgetWindowDecorations(progress.GetRaw()); progress.GetRaw()->exec(); const auto matches = future.get(); diff --git a/Source/Core/DolphinQt/NKitWarningDialog.cpp b/Source/Core/DolphinQt/NKitWarningDialog.cpp index d49db9da92..6c1bd5b117 100644 --- a/Source/Core/DolphinQt/NKitWarningDialog.cpp +++ b/Source/Core/DolphinQt/NKitWarningDialog.cpp @@ -14,14 +14,17 @@ #include "Common/Config/Config.h" #include "Core/Config/MainSettings.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" bool NKitWarningDialog::ShowUnlessDisabled(QWidget* parent) { if (Config::Get(Config::MAIN_SKIP_NKIT_WARNING)) return true; - else - return NKitWarningDialog(parent).exec() == QDialog::Accepted; + + NKitWarningDialog dialog(parent); + SetQWidgetWindowDecorations(&dialog); + return dialog.exec() == QDialog::Accepted; } NKitWarningDialog::NKitWarningDialog(QWidget* parent) : QDialog(parent) diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp index 9acd14977d..53bdedaece 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayBrowser.cpp @@ -26,6 +26,7 @@ #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" NetPlayBrowser::NetPlayBrowser(QWidget* parent) : QDialog(parent) @@ -303,6 +304,7 @@ void NetPlayBrowser::accept() dialog->setWindowModality(Qt::WindowModal); dialog->setTextEchoMode(QLineEdit::Password); + SetQWidgetWindowDecorations(dialog); if (dialog->exec() != QDialog::Accepted) return; diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp index c5edb9c0d9..509b5db28c 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp @@ -51,6 +51,7 @@ #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/QueueOnObject.h" #include "DolphinQt/QtUtils/RunOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/GameCubePane.h" @@ -213,6 +214,7 @@ void NetPlayDialog::CreateMainLayout() m_game_digest_menu->addAction(tr("Other game..."), this, [this] { GameListDialog gld(m_game_list_model, this); + SetQWidgetWindowDecorations(&gld); if (gld.exec() != QDialog::Accepted) return; Settings::Instance().GetNetPlayServer()->ComputeGameDigest( @@ -335,6 +337,7 @@ void NetPlayDialog::ConnectWidgets() Settings::Instance().GetNetPlayServer()->KickPlayer(id); }); connect(m_assign_ports_button, &QPushButton::clicked, [this] { + SetQWidgetWindowDecorations(m_pad_mapping); m_pad_mapping->exec(); Settings::Instance().GetNetPlayServer()->SetPadMapping(m_pad_mapping->GetGCPadArray()); @@ -380,6 +383,7 @@ void NetPlayDialog::ConnectWidgets() connect(m_game_button, &QPushButton::clicked, [this] { GameListDialog gld(m_game_list_model, this); + SetQWidgetWindowDecorations(&gld); if (gld.exec() == QDialog::Accepted) { Settings& settings = Settings::Instance(); diff --git a/Source/Core/DolphinQt/QtUtils/ModalMessageBox.cpp b/Source/Core/DolphinQt/QtUtils/ModalMessageBox.cpp index a12088326c..e80db0ad7e 100644 --- a/Source/Core/DolphinQt/QtUtils/ModalMessageBox.cpp +++ b/Source/Core/DolphinQt/QtUtils/ModalMessageBox.cpp @@ -5,6 +5,8 @@ #include +#include "DolphinQt/QtUtils/SetWindowDecorations.h" + ModalMessageBox::ModalMessageBox(QWidget* parent, Qt::WindowModality modality) : QMessageBox(parent != nullptr ? parent->window() : nullptr) { @@ -28,6 +30,7 @@ static inline int ExecMessageBox(ModalMessageBox::Icon icon, QWidget* parent, co msg.setStandardButtons(buttons); msg.setDefaultButton(default_button); + SetQWidgetWindowDecorations(&msg); return msg.exec(); } diff --git a/Source/Core/DolphinQt/ResourcePackManager.cpp b/Source/Core/DolphinQt/ResourcePackManager.cpp index ad464a76ea..eac48cd6c5 100644 --- a/Source/Core/DolphinQt/ResourcePackManager.cpp +++ b/Source/Core/DolphinQt/ResourcePackManager.cpp @@ -14,6 +14,7 @@ #include "Common/FileUtil.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "UICommon/ResourcePack/Manager.h" ResourcePackManager::ResourcePackManager(QWidget* widget) : QDialog(widget) @@ -241,6 +242,7 @@ void ResourcePackManager::Remove() box.setIcon(QMessageBox::Warning); box.setStandardButtons(QMessageBox::Yes | QMessageBox::Abort); + SetQWidgetWindowDecorations(&box); if (box.exec() != QMessageBox::Yes) return; diff --git a/Source/Core/DolphinQt/Settings/GameCubePane.cpp b/Source/Core/DolphinQt/Settings/GameCubePane.cpp index a19fce31fb..78be23d5f2 100644 --- a/Source/Core/DolphinQt/Settings/GameCubePane.cpp +++ b/Source/Core/DolphinQt/Settings/GameCubePane.cpp @@ -39,6 +39,7 @@ #include "DolphinQt/QtUtils/DolphinFileDialog.h" #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/BroadbandAdapterSettingsDialog.h" @@ -379,22 +380,32 @@ void GameCubePane::OnConfigPressed(ExpansionInterface::Slot slot) BrowseAGPRom(slot); return; case ExpansionInterface::EXIDeviceType::Microphone: + { // TODO: convert MappingWindow to use Slot? - MappingWindow(this, MappingWindow::Type::MAPPING_GC_MICROPHONE, static_cast(slot)).exec(); + MappingWindow dialog(this, MappingWindow::Type::MAPPING_GC_MICROPHONE, static_cast(slot)); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); return; + } case ExpansionInterface::EXIDeviceType::Ethernet: { - BroadbandAdapterSettingsDialog(this, BroadbandAdapterSettingsDialog::Type::Ethernet).exec(); + BroadbandAdapterSettingsDialog dialog(this, BroadbandAdapterSettingsDialog::Type::Ethernet); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); return; } case ExpansionInterface::EXIDeviceType::EthernetXLink: { - BroadbandAdapterSettingsDialog(this, BroadbandAdapterSettingsDialog::Type::XLinkKai).exec(); + BroadbandAdapterSettingsDialog dialog(this, BroadbandAdapterSettingsDialog::Type::XLinkKai); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); return; } case ExpansionInterface::EXIDeviceType::EthernetBuiltIn: { - BroadbandAdapterSettingsDialog(this, BroadbandAdapterSettingsDialog::Type::BuiltIn).exec(); + BroadbandAdapterSettingsDialog dialog(this, BroadbandAdapterSettingsDialog::Type::BuiltIn); + SetQWidgetWindowDecorations(&dialog); + dialog.exec(); return; } default: diff --git a/Source/Core/DolphinQt/Settings/GeneralPane.cpp b/Source/Core/DolphinQt/Settings/GeneralPane.cpp index f958a383ec..f5f56193e0 100644 --- a/Source/Core/DolphinQt/Settings/GeneralPane.cpp +++ b/Source/Core/DolphinQt/Settings/GeneralPane.cpp @@ -24,6 +24,7 @@ #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" @@ -370,6 +371,7 @@ void GeneralPane::GenerateNewIdentity() message_box.setIcon(QMessageBox::Information); message_box.setWindowTitle(tr("Identity Generation")); message_box.setText(tr("New identity generated.")); + SetQWidgetWindowDecorations(&message_box); message_box.exec(); } #endif diff --git a/Source/Core/DolphinQt/Settings/WiiPane.cpp b/Source/Core/DolphinQt/Settings/WiiPane.cpp index 9cb9677e20..19170b5517 100644 --- a/Source/Core/DolphinQt/Settings/WiiPane.cpp +++ b/Source/Core/DolphinQt/Settings/WiiPane.cpp @@ -35,6 +35,7 @@ #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/NonDefaultQPushButton.h" #include "DolphinQt/QtUtils/ParallelProgressDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/QtUtils/SignalBlocking.h" #include "DolphinQt/Settings.h" #include "DolphinQt/Settings/USBDeviceAddToWhitelistDialog.h" @@ -288,6 +289,7 @@ void WiiPane::CreateSDCard() progress_dialog.Reset(); return good; }); + SetQWidgetWindowDecorations(progress_dialog.GetRaw()); progress_dialog.GetRaw()->exec(); if (!success.get()) ModalMessageBox::warning(this, tr("Convert Folder to File Now"), tr("Conversion failed.")); @@ -312,6 +314,7 @@ void WiiPane::CreateSDCard() progress_dialog.Reset(); return good; }); + SetQWidgetWindowDecorations(progress_dialog.GetRaw()); progress_dialog.GetRaw()->exec(); if (!success.get()) ModalMessageBox::warning(this, tr("Convert File to Folder Now"), tr("Conversion failed.")); @@ -468,6 +471,7 @@ void WiiPane::OnUSBWhitelistAddButton() USBDeviceAddToWhitelistDialog usb_whitelist_dialog(this); connect(&usb_whitelist_dialog, &USBDeviceAddToWhitelistDialog::accepted, this, &WiiPane::PopulateUSBPassthroughListWidget); + SetQWidgetWindowDecorations(&usb_whitelist_dialog); usb_whitelist_dialog.exec(); } diff --git a/Source/Core/DolphinQt/SkylanderPortal/SkylanderPortalWindow.cpp b/Source/Core/DolphinQt/SkylanderPortal/SkylanderPortalWindow.cpp index 88dcbf84a8..af3d463b8c 100644 --- a/Source/Core/DolphinQt/SkylanderPortal/SkylanderPortalWindow.cpp +++ b/Source/Core/DolphinQt/SkylanderPortal/SkylanderPortalWindow.cpp @@ -34,6 +34,7 @@ #include "Core/System.h" #include "DolphinQt/QtUtils/DolphinFileDialog.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Resources.h" #include "DolphinQt/Settings.h" @@ -560,6 +561,7 @@ void SkylanderPortalWindow::CreateSkylanderAdvanced() connect(buttons, &QDialogButtonBox::rejected, create_window, &QDialog::reject); + SetQWidgetWindowDecorations(create_window); create_window->show(); create_window->raise(); } diff --git a/Source/Core/DolphinQt/TAS/WiiTASInputWindow.cpp b/Source/Core/DolphinQt/TAS/WiiTASInputWindow.cpp index dc08148b79..4762024a61 100644 --- a/Source/Core/DolphinQt/TAS/WiiTASInputWindow.cpp +++ b/Source/Core/DolphinQt/TAS/WiiTASInputWindow.cpp @@ -28,6 +28,7 @@ #include "DolphinQt/QtUtils/AspectRatioWidget.h" #include "DolphinQt/QtUtils/QueueOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/TAS/IRWidget.h" #include "DolphinQt/TAS/TASCheckBox.h" #include "DolphinQt/TAS/TASSpinBox.h" @@ -395,15 +396,21 @@ void WiiTASInputWindow::UpdateExt() if (m_active_extension == WiimoteEmu::ExtensionNumber::NUNCHUK) { setWindowTitle(tr("Wii TAS Input %1 - Wii Remote + Nunchuk").arg(m_num + 1)); + SetQWidgetWindowDecorations(m_ir_box); m_ir_box->show(); + SetQWidgetWindowDecorations(m_nunchuk_stick_box); m_nunchuk_stick_box->show(); m_classic_right_stick_box->hide(); m_classic_left_stick_box->hide(); + SetQWidgetWindowDecorations(m_remote_accelerometer_box); m_remote_accelerometer_box->show(); m_remote_gyroscope_box->setVisible(m_is_motion_plus_attached); + SetQWidgetWindowDecorations(m_nunchuk_accelerometer_box); m_nunchuk_accelerometer_box->show(); m_triggers_box->hide(); + SetQWidgetWindowDecorations(m_nunchuk_buttons_box); m_nunchuk_buttons_box->show(); + SetQWidgetWindowDecorations(m_remote_buttons_box); m_remote_buttons_box->show(); m_classic_buttons_box->hide(); } @@ -412,14 +419,18 @@ void WiiTASInputWindow::UpdateExt() setWindowTitle(tr("Wii TAS Input %1 - Classic Controller").arg(m_num + 1)); m_ir_box->hide(); m_nunchuk_stick_box->hide(); + SetQWidgetWindowDecorations(m_classic_right_stick_box); m_classic_right_stick_box->show(); + SetQWidgetWindowDecorations(m_classic_left_stick_box); m_classic_left_stick_box->show(); m_remote_accelerometer_box->hide(); m_remote_gyroscope_box->hide(); m_nunchuk_accelerometer_box->hide(); + SetQWidgetWindowDecorations(m_triggers_box); m_triggers_box->show(); m_remote_buttons_box->hide(); m_nunchuk_buttons_box->hide(); + SetQWidgetWindowDecorations(m_classic_buttons_box); m_classic_buttons_box->show(); } else @@ -429,10 +440,12 @@ void WiiTASInputWindow::UpdateExt() m_nunchuk_stick_box->hide(); m_classic_right_stick_box->hide(); m_classic_left_stick_box->hide(); + SetQWidgetWindowDecorations(m_remote_accelerometer_box); m_remote_accelerometer_box->show(); m_remote_gyroscope_box->setVisible(m_is_motion_plus_attached); m_nunchuk_accelerometer_box->hide(); m_triggers_box->hide(); + SetQWidgetWindowDecorations(m_remote_buttons_box); m_remote_buttons_box->show(); m_nunchuk_buttons_box->hide(); m_classic_buttons_box->hide(); diff --git a/Source/Core/DolphinQt/Updater.cpp b/Source/Core/DolphinQt/Updater.cpp index 47eb57ef39..881c638914 100644 --- a/Source/Core/DolphinQt/Updater.cpp +++ b/Source/Core/DolphinQt/Updater.cpp @@ -17,6 +17,7 @@ #include "Common/Version.h" #include "DolphinQt/QtUtils/RunOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" #include "DolphinQt/Settings.h" // Refer to docs/autoupdate_overview.md for a detailed overview of the autoupdate process @@ -100,6 +101,7 @@ void Updater::OnUpdateAvailable(const NewVersionInformation& info) connect(buttons, &QDialogButtonBox::accepted, dialog, &QDialog::accept); connect(buttons, &QDialogButtonBox::rejected, dialog, &QDialog::reject); + SetQWidgetWindowDecorations(dialog); return dialog->exec(); }); diff --git a/Source/Core/DolphinQt/WiiUpdate.cpp b/Source/Core/DolphinQt/WiiUpdate.cpp index fc5d9ea8e9..633f02c2ce 100644 --- a/Source/Core/DolphinQt/WiiUpdate.cpp +++ b/Source/Core/DolphinQt/WiiUpdate.cpp @@ -21,6 +21,7 @@ #include "DolphinQt/QtUtils/ModalMessageBox.h" #include "DolphinQt/QtUtils/QueueOnObject.h" +#include "DolphinQt/QtUtils/SetWindowDecorations.h" namespace WiiUpdate { @@ -130,6 +131,7 @@ static WiiUtils::UpdateResult ShowProgress(QWidget* parent, Callable function, A return res; }); + SetQWidgetWindowDecorations(&dialog); dialog.exec(); return result.get(); }