diff --git a/src/blackgui/components/autopublishdialog.h b/src/blackgui/components/autopublishdialog.h index de3a87678..9e7793f80 100644 --- a/src/blackgui/components/autopublishdialog.h +++ b/src/blackgui/components/autopublishdialog.h @@ -31,7 +31,7 @@ namespace BlackGui explicit CAutoPublishDialog(QWidget *parent = nullptr); //! Destructor - virtual ~CAutoPublishDialog(); + virtual ~CAutoPublishDialog() override; //! \copydoc CAutoPublishComponent::readFiles int readFiles(); diff --git a/src/swiftguistandard/swiftguistd.cpp b/src/swiftguistandard/swiftguistd.cpp index ce4c636c9..1d256f4cf 100644 --- a/src/swiftguistandard/swiftguistd.cpp +++ b/src/swiftguistandard/swiftguistd.cpp @@ -6,6 +6,14 @@ * or distributed except according to the terms contained in the LICENSE file. */ +#include "blackgui/components/infobarstatuscomponent.h" +#include "blackgui/components/logcomponent.h" +#include "blackgui/components/dbloaddatadialog.h" +#include "blackgui/components/autopublishdialog.h" +#include "blackgui/components/settingscomponent.h" +#include "blackgui/guiapplication.h" +#include "blackgui/guiutility.h" +#include "blackgui/overlaymessagesframe.h" #include "blackcore/context/contextapplication.h" #include "blackcore/context/contextaudio.h" #include "blackcore/context/contextnetwork.h" @@ -13,13 +21,6 @@ #include "blackcore/network.h" #include "blackcore/webdataservices.h" #include "blackcore/corefacadeconfig.h" -#include "blackgui/components/infobarstatuscomponent.h" -#include "blackgui/components/logcomponent.h" -#include "blackgui/components/dbloaddatadialog.h" -#include "blackgui/components/settingscomponent.h" -#include "blackgui/guiapplication.h" -#include "blackgui/guiutility.h" -#include "blackgui/overlaymessagesframe.h" #include "blackmisc/audio/notificationsounds.h" #include "blackmisc/icons.h" #include "blackmisc/logcategory.h" diff --git a/src/swiftguistandard/swiftguistd.h b/src/swiftguistandard/swiftguistd.h index 1cd216f6d..c96750e23 100644 --- a/src/swiftguistandard/swiftguistd.h +++ b/src/swiftguistandard/swiftguistd.h @@ -45,8 +45,15 @@ class QEvent; class QMouseEvent; class QTimer; -namespace BlackMisc { namespace Aviation { class CAltitude; } } -namespace BlackGui { namespace Components { class CDbLoadDataDialog; }} +namespace BlackMisc { namespace Aviation { class CAltitude; } } +namespace BlackGui +{ + namespace Components + { + class CDbLoadDataDialog; + class CAutoPublishDialog; + } +} namespace Ui { class SwiftGuiStd; } //! swift GUI @@ -102,8 +109,9 @@ protected: private: QScopedPointer ui; - QScopedPointer m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent - QScopedPointer m_dbLoadDialog; //!< load DB data, lazy init UI component + QScopedPointer m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent + QScopedPointer m_dbLoadDialog; //!< load DB data, lazy init UI component + QScopedPointer m_autoPublishDialog; //!< auto publish dialog QScopedPointer m_validationDialog; //!< aircraft model validation dialog BlackCore::CActionBind m_actionPtt { BlackMisc::Input::pttHotkeyAction(), BlackMisc::CIcons::radio16(), this, &SwiftGuiStd::onPttChanged }; BlackCore::CActionBindings m_menuHotkeyHandlers; @@ -283,6 +291,9 @@ private: //! Copy the XSwiftBus files from build directory void copyXSwiftBusDialog(bool checkFileTimestamp); + //! Auto publish diloag + void autoPublishDialog(); + //! Request overlay inline text message @{ void onShowOverlayVariant(const BlackMisc::CVariant &variant, int durationMs); void onShowOverlayInlineTextMessageTab(BlackGui::Components::TextMessageTab tab); diff --git a/src/swiftguistandard/swiftguistd.ui b/src/swiftguistandard/swiftguistd.ui index 8a77b90fa..e202521ab 100644 --- a/src/swiftguistandard/swiftguistd.ui +++ b/src/swiftguistandard/swiftguistd.ui @@ -274,16 +274,17 @@ - + - Map + Tools + - + @@ -500,6 +501,15 @@ Moving map + + + + :/diagona/icons/diagona/icons/paper-plane--plus.png:/diagona/icons/diagona/icons/paper-plane--plus.png + + + Auto-publish + + @@ -546,7 +556,9 @@ 1 - + + + setMainPage() diff --git a/src/swiftguistandard/swiftguistdinit.cpp b/src/swiftguistandard/swiftguistdinit.cpp index d3e9f300a..0eefbe0d9 100644 --- a/src/swiftguistandard/swiftguistdinit.cpp +++ b/src/swiftguistandard/swiftguistdinit.cpp @@ -217,13 +217,14 @@ void SwiftGuiStd::initGuiSignals() connect(ui->menu_TestLocationsEDRY, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); connect(ui->menu_TestLocationsLOWW, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); + connect(ui->menu_WindowToggleNavigator, &QAction::triggered, m_navigator.data(), &CNavigatorDialog::toggleNavigatorVisibility); connect(ui->menu_WindowFont, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); connect(ui->menu_WindowMinimize, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); connect(ui->menu_WindowToggleOnTop, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); - connect(ui->menu_WindowToggleNavigator, &QAction::triggered, m_navigator.data(), &CNavigatorDialog::toggleNavigatorVisibility); - connect(ui->menu_InternalsPage, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); - connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); - connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed, Qt::QueuedConnection); + connect(ui->menu_InternalsPage, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); + connect(ui->menu_AutoPublish, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); + connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked); + connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed, Qt::QueuedConnection); // settings (GUI component), styles connect(ui->comp_MainInfoArea->getSettingsComponent(), &CSettingsComponent::changedWindowsOpacity, this, &SwiftGuiStd::onChangedWindowOpacity); diff --git a/src/swiftguistandard/swiftguistdmenus.cpp b/src/swiftguistandard/swiftguistdmenus.cpp index 98a99c00d..0af631062 100644 --- a/src/swiftguistandard/swiftguistdmenus.cpp +++ b/src/swiftguistandard/swiftguistdmenus.cpp @@ -8,6 +8,7 @@ #include "blackgui/components/maininfoareacomponent.h" #include "blackgui/components/settingscomponent.h" +#include "blackgui/components/autopublishdialog.h" #include "blackgui/guiactionbind.h" #include "blackgui/guiapplication.h" #include "blackgui/foreignwindows.h" @@ -31,6 +32,7 @@ using namespace BlackConfig; using namespace BlackGui; +using namespace BlackGui::Components; using namespace BlackCore; using namespace BlackMisc; using namespace BlackMisc::PhysicalQuantities; @@ -80,6 +82,10 @@ void SwiftGuiStd::onMenuClicked() { ui->sw_MainMiddle->setCurrentIndex(MainPageInternals); } + else if (sender == ui->menu_AutoPublish) + { + this->autoPublishDialog(); + } else if (sender == ui->menu_MovingMap && sGui && !sGui->getGlobalSetup().getSwiftMapUrls().isEmpty()) { const CUrlList urls = sGui->getGlobalSetup().getSwiftMapUrls(); @@ -174,3 +180,12 @@ void SwiftGuiStd::copyXSwiftBusDialog(bool checkFileTimestamp) const int c = CCopyXSwiftBusDialog::displayDialogAndCopyBuildFiles(xPlaneRootDir, checkFileTimestamp, this); if (c > 0) { CLogMessage(this).info(u"Copied %1 files from build directory") << c; } } + +void SwiftGuiStd::autoPublishDialog() +{ + if (!m_autoPublishDialog) + { + m_autoPublishDialog.reset(new CAutoPublishDialog(this)); + } + m_autoPublishDialog->show(); +}