From 5eeb29bafe59d5f2047c6409b81a965de3c3360c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 23 Mar 2019 19:56:43 +0100 Subject: [PATCH] Functions to select distributor/ICAO in component --- src/blackgui/components/dbaircrafticaocomponent.cpp | 6 ++++++ src/blackgui/components/dbaircrafticaocomponent.h | 5 ++++- src/blackgui/components/dbdistributorcomponent.cpp | 6 ++++++ src/blackgui/components/dbdistributorcomponent.h | 7 +++++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/blackgui/components/dbaircrafticaocomponent.cpp b/src/blackgui/components/dbaircrafticaocomponent.cpp index 686c6e418..8dc05c2a0 100644 --- a/src/blackgui/components/dbaircrafticaocomponent.cpp +++ b/src/blackgui/components/dbaircrafticaocomponent.cpp @@ -59,6 +59,12 @@ namespace BlackGui ui->filter_AircraftIcao->filter(icao); } + bool CDbAircraftIcaoComponent::selectAircraftIcao(const CAircraftIcaoCode &icao) + { + if (!icao.isLoadedFromDb()) { return false; } + return ui->tvp_AircraftIcao->selectDbKey(icao.getDbKey()); + } + void CDbAircraftIcaoComponent::onIcaoRead(CEntityFlags::Entity entity, CEntityFlags::ReadState readState, int count) { Q_UNUSED(count); diff --git a/src/blackgui/components/dbaircrafticaocomponent.h b/src/blackgui/components/dbaircrafticaocomponent.h index ddd4fb373..256ee9236 100644 --- a/src/blackgui/components/dbaircrafticaocomponent.h +++ b/src/blackgui/components/dbaircrafticaocomponent.h @@ -42,7 +42,7 @@ namespace BlackGui explicit CDbAircraftIcaoComponent(QWidget *parent = nullptr); //! Destructor - virtual ~CDbAircraftIcaoComponent(); + virtual ~CDbAircraftIcaoComponent() override; //! Get the view BlackGui::Views::CAircraftIcaoCodeView *view() const; @@ -50,6 +50,9 @@ namespace BlackGui //! Filter by ICAO as default void filter(const BlackMisc::Aviation::CAircraftIcaoCode &icao); + //! Select aircraft ICAO object + bool selectAircraftIcao(const BlackMisc::Aviation::CAircraftIcaoCode &icao); + private: //! ICAO codes have been read void onIcaoRead(BlackMisc::Network::CEntityFlags::Entity entity, BlackMisc::Network::CEntityFlags::ReadState readState, int count); diff --git a/src/blackgui/components/dbdistributorcomponent.cpp b/src/blackgui/components/dbdistributorcomponent.cpp index 188a7bbcb..7e8c85e5c 100644 --- a/src/blackgui/components/dbdistributorcomponent.cpp +++ b/src/blackgui/components/dbdistributorcomponent.cpp @@ -68,6 +68,12 @@ namespace BlackGui return ui->tvp_Distributors->selectedObjects(); } + bool CDbDistributorComponent::selectDistributor(const CDistributor &distributor) + { + if (ui->tvp_Distributors->isEmpty() || !distributor.isLoadedFromDb()) { return false; } + return ui->tvp_Distributors->selectDbKey(distributor.getDbKey()); + } + bool CDbDistributorComponent::hasSelectedDistributors() const { return ui->tvp_Distributors->hasSelection(); diff --git a/src/blackgui/components/dbdistributorcomponent.h b/src/blackgui/components/dbdistributorcomponent.h index f74703a54..cf93b8a3b 100644 --- a/src/blackgui/components/dbdistributorcomponent.h +++ b/src/blackgui/components/dbdistributorcomponent.h @@ -33,7 +33,7 @@ namespace BlackGui class BLACKGUI_EXPORT CDbDistributorComponent : public QFrame, public CEnableForDockWidgetInfoArea, - public BlackGui::CEnableForViewBasedIndicator + public CEnableForViewBasedIndicator { Q_OBJECT @@ -42,7 +42,7 @@ namespace BlackGui explicit CDbDistributorComponent(QWidget *parent = nullptr); //! Destructor - virtual ~CDbDistributorComponent(); + virtual ~CDbDistributorComponent() override; //! Get the view BlackGui::Views::CDistributorView *view() const; @@ -53,6 +53,9 @@ namespace BlackGui //! The selected distributors BlackMisc::Simulation::CDistributorList getSelectedDistributors() const; + //! Select the given distributor + bool selectDistributor(const BlackMisc::Simulation::CDistributor &distributor); + //! Having selected distributors bool hasSelectedDistributors() const;