From 53a021de787c37f71be226e0f9ca2dd2b84c80d7 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 16 Apr 2017 12:10:12 +0200 Subject: [PATCH] refs #935, set opacity of main window when wizard is active https://dev.vatsim-germany.org/issues/935#note-5 --- .../components/configurationwizard.cpp | 20 +++++++++++++++++++ src/blackgui/components/configurationwizard.h | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/src/blackgui/components/configurationwizard.cpp b/src/blackgui/components/configurationwizard.cpp index 89aa5756a..663103c43 100644 --- a/src/blackgui/components/configurationwizard.cpp +++ b/src/blackgui/components/configurationwizard.cpp @@ -8,6 +8,7 @@ */ #include "configurationwizard.h" +#include "blackgui/guiapplication.h" #include "ui_configurationwizard.h" namespace BlackGui @@ -40,6 +41,11 @@ namespace BlackGui connect(this, &QWizard::currentIdChanged, this, &CConfigurationWizard::wizardCurrentIdChanged); connect(this, &QWizard::customButtonClicked, this, &CConfigurationWizard::clickedCustomButton); + connect(this, &QWizard::rejected, this, &CConfigurationWizard::ended); + connect(this, &QWizard::accepted, this, &CConfigurationWizard::ended); + + Q_ASSERT_X(sGui, Q_FUNC_INFO, "missing sGui"); + connect(this, &QWizard::helpRequested, sGui, &CGuiApplication::showHelp); } CConfigurationWizard::~CConfigurationWizard() @@ -65,6 +71,7 @@ namespace BlackGui m_skipped = false; // reset Q_UNUSED(skipped); + this->setParentOpacity(0.5); const QWizardPage *page = this->currentPage(); if (backward && page == ui->wp_CopyCaches) { @@ -92,5 +99,18 @@ namespace BlackGui this->m_skipped = false; } } + + void CConfigurationWizard::ended() + { + this->setParentOpacity(1.0); + } + + void CConfigurationWizard::setParentOpacity(qreal opacity) + { + QWidget *parent = this->parentWidget(); + if (!parent) { return; } + if (parent->windowOpacity() == opacity) { return; } + parent->setWindowOpacity(opacity); + } } // ns } // ns diff --git a/src/blackgui/components/configurationwizard.h b/src/blackgui/components/configurationwizard.h index 042cbfbb7..d7b88c14c 100644 --- a/src/blackgui/components/configurationwizard.h +++ b/src/blackgui/components/configurationwizard.h @@ -58,6 +58,12 @@ namespace BlackGui //! Custom button was clicked void clickedCustomButton(int which); + //! Accepted or rejected + void ended(); + + //! Set the parent's window opacity + void setParentOpacity(qreal opacity); + QScopedPointer ui; int m_previousId = -1; int m_minId = -1;