diff --git a/src/blackgui/components/maininfoareacomponent.cpp b/src/blackgui/components/maininfoareacomponent.cpp index 6c7f3f00a..1d1f7cf80 100644 --- a/src/blackgui/components/maininfoareacomponent.cpp +++ b/src/blackgui/components/maininfoareacomponent.cpp @@ -70,6 +70,11 @@ namespace BlackGui return ui->comp_Settings; } + CWeatherComponent *CMainInfoAreaComponent::getWeatherComponent() + { + return ui->comp_Weather; + } + CLogComponent *CMainInfoAreaComponent::getLogComponent() { return ui->comp_Log; @@ -117,6 +122,7 @@ namespace BlackGui case InfoAreaMappings: case InfoAreaSettings: case InfoAreaTextMessages: + case InfoAreaWeather: return QSize(600, 400); break; case InfoAreaFlightPlan: diff --git a/src/blackgui/components/maininfoareacomponent.h b/src/blackgui/components/maininfoareacomponent.h index 17560641f..968481a64 100644 --- a/src/blackgui/components/maininfoareacomponent.h +++ b/src/blackgui/components/maininfoareacomponent.h @@ -93,6 +93,9 @@ namespace BlackGui //! Settings CSettingsComponent *getSettingsComponent(); + //! Weather component + CWeatherComponent *getWeatherComponent(); + //! Log messages CLogComponent *getLogComponent(); diff --git a/src/blackgui/components/navigatordialog.cpp b/src/blackgui/components/navigatordialog.cpp index 28cc56d8e..9f1e2df3d 100644 --- a/src/blackgui/components/navigatordialog.cpp +++ b/src/blackgui/components/navigatordialog.cpp @@ -106,6 +106,12 @@ namespace BlackGui this->adjustNavigatorSize(gridLayout); } + void CNavigatorDialog::reject() + { + this->hide(); + emit navigatorClosed(); + } + void CNavigatorDialog::toggleFrameless() { this->setFrameless(!this->isFrameless()); @@ -287,7 +293,7 @@ namespace BlackGui a->setData("1c"); a = contextMenu->addAction(CIcons::resize16(), "2 columns", this, &CNavigatorDialog::ps_changeLayout); a->setData("2c"); - QString frameLessActionText = this->isFrameless() ? "Normal window" : "Frameless"; + const QString frameLessActionText = this->isFrameless() ? "Normal window" : "Frameless"; contextMenu->addAction(BlackMisc::CIcons::tableSheet16(), frameLessActionText, this, SLOT(toggleFrameless())); contextMenu->addAction("Adjust margins", this, &CNavigatorDialog::ps_dummy); contextMenu->addAction(this->m_marginMenuAction); diff --git a/src/blackgui/components/navigatordialog.h b/src/blackgui/components/navigatordialog.h index e746d27c7..2916d7b74 100644 --- a/src/blackgui/components/navigatordialog.h +++ b/src/blackgui/components/navigatordialog.h @@ -55,6 +55,13 @@ namespace BlackGui //! Navigator void buildNavigator(int columns); + //! Called when dialog is closed + virtual void reject() override; + + signals: + //! Navigator closed + void navigatorClosed(); + public slots: //! Toggle frameless mode void toggleFrameless(); diff --git a/src/swiftguistandard/swiftguistd.cpp b/src/swiftguistandard/swiftguistd.cpp index 05764c788..9492d498b 100644 --- a/src/swiftguistandard/swiftguistd.cpp +++ b/src/swiftguistandard/swiftguistd.cpp @@ -383,6 +383,11 @@ void SwiftGuiStd::ps_showNormal() this->showNormalModeChecked(); } +void SwiftGuiStd::ps_navigatorClosed() +{ + this->showNormal(); +} + void SwiftGuiStd::playNotifcationSound(CNotificationSounds::Notification notification) const { if (!this->m_contextAudioAvailable) { return; } diff --git a/src/swiftguistandard/swiftguistd.h b/src/swiftguistandard/swiftguistd.h index 2f030e1f8..77e1dd99e 100644 --- a/src/swiftguistandard/swiftguistd.h +++ b/src/swiftguistandard/swiftguistd.h @@ -76,13 +76,13 @@ public: static QString getLogCategory() { return "swift.gui.stdgui"; } signals: + //! Main info area has changed //! \remarks using widget pointer allows the component itself to identify if it is current void currentMainInfoAreaChanged(const QWidget *currentWidget); protected: - //! \name QMainWindow events - //! @[ + //! @{ virtual void mouseMoveEvent(QMouseEvent *event) override; virtual void mousePressEvent(QMouseEvent *event) override; virtual void closeEvent(QCloseEvent *event) override; @@ -252,6 +252,9 @@ private slots: //! Show window normal void ps_showNormal(); + + //! Navigator dialog has been closed + void ps_navigatorClosed(); }; #pragma pop_macro("interface") diff --git a/src/swiftguistandard/swiftguistdinit.cpp b/src/swiftguistandard/swiftguistdinit.cpp index e5cdc1573..0aef7f421 100644 --- a/src/swiftguistandard/swiftguistdinit.cpp +++ b/src/swiftguistandard/swiftguistdinit.cpp @@ -193,6 +193,7 @@ void SwiftGuiStd::initGuiSignals() connect(ui->menu_WindowMinimize, &QAction::triggered, this, &SwiftGuiStd::ps_onMenuClicked); connect(ui->menu_WindowToggleOnTop, &QAction::triggered, this, &SwiftGuiStd::ps_onMenuClicked); connect(ui->menu_WindowToggleNavigator, &QAction::triggered, this->m_navigator.data(), &CNavigatorDialog::toggleNavigator); + connect(this->m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::ps_navigatorClosed); connect(ui->menu_InternalsPage, &QAction::triggered, this, &SwiftGuiStd::ps_onMenuClicked); // command line / text messages