From 20b83d66ebc954d9a2b6129c770c76d392d9971e Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 10 Jan 2019 18:13:33 +0100 Subject: [PATCH] Ref T509, utility function for ICAO codes --- src/blackmisc/simulation/aircraftmodellist.cpp | 18 ++++++++++++++++++ src/blackmisc/simulation/aircraftmodellist.h | 5 ++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/blackmisc/simulation/aircraftmodellist.cpp b/src/blackmisc/simulation/aircraftmodellist.cpp index bb1698d3c..fe3cf9835 100644 --- a/src/blackmisc/simulation/aircraftmodellist.cpp +++ b/src/blackmisc/simulation/aircraftmodellist.cpp @@ -406,6 +406,24 @@ namespace BlackMisc return distributors; } + QMap CAircraftModelList::countPerAircraftIcao() const + { + QMap icaos; + for (const CAircraftModel &model : *this) + { + if (!model.hasAircraftDesignator()) { continue; } + if (icaos.contains(model.getAircraftIcaoCode())) + { + icaos[model.getAircraftIcaoCode()]++; + } + else + { + icaos[model.getAircraftIcaoCode()] = 1; + } + } + return icaos; + } + QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const { if (modelString.isEmpty()) { return {}; } diff --git a/src/blackmisc/simulation/aircraftmodellist.h b/src/blackmisc/simulation/aircraftmodellist.h index b17b6c329..97792350d 100644 --- a/src/blackmisc/simulation/aircraftmodellist.h +++ b/src/blackmisc/simulation/aircraftmodellist.h @@ -299,9 +299,12 @@ namespace BlackMisc //! Model strings plus count QMap countPerModelString() const; - //! Distributor plus count + //! Distributors plus count QMap countPerDistributor() const; + //! Aircraft ICAO plus count + QMap countPerAircraftIcao() const; + //! Which simulator(s) have the most entries? CSimulatorInfo simulatorsWithMaxEntries() const;