Ref T554, auto publishing dialog in swift pilot client UI

This commit is contained in:
Klaus Basan
2019-06-18 02:55:37 +02:00
committed by Mat Sutcliffe
parent 950af0c588
commit 67b9e4f560
6 changed files with 60 additions and 20 deletions

View File

@@ -31,7 +31,7 @@ namespace BlackGui
explicit CAutoPublishDialog(QWidget *parent = nullptr);
//! Destructor
virtual ~CAutoPublishDialog();
virtual ~CAutoPublishDialog() override;
//! \copydoc CAutoPublishComponent::readFiles
int readFiles();

View File

@@ -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"

View File

@@ -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::SwiftGuiStd> ui;
QScopedPointer<BlackGui::Components::CNavigatorDialog> m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent
QScopedPointer<BlackGui::Components::CDbLoadDataDialog> m_dbLoadDialog; //!< load DB data, lazy init UI component
QScopedPointer<BlackGui::Components::CNavigatorDialog> m_navigator{ new BlackGui::Components::CNavigatorDialog() }; //!< navigator dialog bar, if I pass the parent, the dialog is always centered over the parent
QScopedPointer<BlackGui::Components::CDbLoadDataDialog> m_dbLoadDialog; //!< load DB data, lazy init UI component
QScopedPointer<BlackGui::Components::CAutoPublishDialog> m_autoPublishDialog; //!< auto publish dialog
QScopedPointer<BlackGui::Components::CAircraftModelSetValidationDialog> 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);

View File

@@ -274,16 +274,17 @@
<addaction name="menu_WindowToggleNavigator"/>
<addaction name="separator"/>
</widget>
<widget class="QMenu" name="menu_Map">
<widget class="QMenu" name="menu_Tools">
<property name="title">
<string>Map</string>
<string>Tools</string>
</property>
<addaction name="menu_MovingMap"/>
<addaction name="menu_AutoPublish"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Window"/>
<addaction name="menu_InfoAreas"/>
<addaction name="menu_Map"/>
<addaction name="menu_Tools"/>
<addaction name="menu_Help"/>
<addaction name="menu_Test"/>
</widget>
@@ -500,6 +501,15 @@
<string>Moving map</string>
</property>
</action>
<action name="menu_AutoPublish">
<property name="icon">
<iconset resource="../blackmisc/blackmisc.qrc">
<normaloff>:/diagona/icons/diagona/icons/paper-plane--plus.png</normaloff>:/diagona/icons/diagona/icons/paper-plane--plus.png</iconset>
</property>
<property name="text">
<string>Auto-publish</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
@@ -546,7 +556,9 @@
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<resources>
<include location="../blackmisc/blackmisc.qrc"/>
</resources>
<connections/>
<slots>
<slot>setMainPage()</slot>

View File

@@ -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);

View File

@@ -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();
}