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;