Ref T717, initial UI components for model browser

This commit is contained in:
Klaus Basan
2019-08-24 20:18:42 +02:00
committed by Mat Sutcliffe
parent c9d5a18421
commit 1409dae355
10 changed files with 259 additions and 5 deletions

View File

@@ -13,6 +13,7 @@
#include "blackgui/components/dbloaddatadialog.h"
#include "blackgui/components/autopublishdialog.h"
#include "blackgui/components/logindialog.h"
#include "blackgui/components/modelbrowserdialog.h"
#include "blackgui/components/settingscomponent.h"
#include "blackgui/guiapplication.h"
#include "blackgui/guiutility.h"
@@ -623,3 +624,13 @@ bool SwiftGuiStd::triggerAutoPublishDialog()
return true;
}
bool SwiftGuiStd::startModelBrowser()
{
if (!m_modelBrower)
{
m_modelBrower.reset(new CModelBrowserDialog(this));
}
m_modelBrower->exec();
return true;
}

View File

@@ -55,6 +55,7 @@ namespace BlackGui
class CDbLoadDataDialog;
class CAutoPublishDialog;
class CLoginDialog;
class CModelBrowserDialog;
}
}
namespace Ui { class SwiftGuiStd; }
@@ -112,10 +113,11 @@ 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::CAutoPublishDialog> m_autoPublishDialog; //!< auto publish dialog
QScopedPointer<BlackGui::Components::CLoginDialog> m_loginDialog; //!< login dialog
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::CLoginDialog> m_loginDialog; //!< login dialog
QScopedPointer<BlackGui::Components::CModelBrowserDialog> m_modelBrower; //!< model browser
QScopedPointer<BlackGui::Components::CAircraftModelSetValidationDialog> m_validationDialog; //!< aircraft model validation dialog
BlackMisc::CData<BlackMisc::Simulation::Data::TLastAutoPublish> m_lastAutoPublish { this };
BlackCore::CActionBind m_actionPtt { BlackMisc::Input::pttHotkeyAction(), BlackMisc::CIcons::radio16(), this, &SwiftGuiStd::onPttChanged };
@@ -210,7 +212,7 @@ private:
void onConnectionStatusChanged(BlackCore::INetwork::ConnectionStatus from, BlackCore::INetwork::ConnectionStatus to);
//
// GUI related slots
// GUI related functions
//
//! Set \sa MainPageInfoArea
@@ -305,6 +307,9 @@ private:
//! Show auto publish dialog if appropriate
bool triggerAutoPublishDialog();
//! Start the model browser
bool startModelBrowser();
//! Request overlay inline text message @{
void onShowOverlayVariant(const BlackMisc::CVariant &variant, int durationMs);
void onShowOverlayInlineTextMessageTab(BlackGui::Components::TextMessageTab tab);

View File

@@ -281,6 +281,7 @@
<addaction name="menu_MovingMap"/>
<addaction name="menu_AutoPublish"/>
<addaction name="menu_ToggleIncognito"/>
<addaction name="menu_ModelBrowser"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Window"/>
@@ -516,6 +517,11 @@
<string>Toggle incognito mode</string>
</property>
</action>
<action name="menu_ModelBrowser">
<property name="text">
<string>Model brower</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>

View File

@@ -225,6 +225,7 @@ void SwiftGuiStd::initGuiSignals()
connect(ui->menu_AutoPublish, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
connect(ui->menu_MovingMap, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
connect(ui->menu_ToggleIncognito, &QAction::triggered, this, &SwiftGuiStd::onMenuClicked);
connect(ui->menu_ModelBrowser, &QAction::triggered, this, &SwiftGuiStd::startModelBrowser, Qt::QueuedConnection);
connect(m_navigator.data(), &CNavigatorDialog::navigatorClosed, this, &SwiftGuiStd::onNavigatorClosed, Qt::QueuedConnection);