diff --git a/src/blackcore/modelsetbuilder.cpp b/src/blackcore/modelsetbuilder.cpp index d042ab722..e99fed222 100644 --- a/src/blackcore/modelsetbuilder.cpp +++ b/src/blackcore/modelsetbuilder.cpp @@ -52,7 +52,7 @@ namespace BlackCore else if (oprions.testFlag(OnlyDbIcaoCodes)) { Q_ASSERT_X(sApp->hasWebDataServices(), Q_FUNC_INFO, "No web data services"); - const QStringList designators(sApp->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes()); + const QSet designators(sApp->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes()); modelSet = modelSet.findWithAircraftDesignator(designators); } else diff --git a/src/blackgui/components/flightplancomponent.cpp b/src/blackgui/components/flightplancomponent.cpp index 6833853c9..c12bf96cb 100644 --- a/src/blackgui/components/flightplancomponent.cpp +++ b/src/blackgui/components/flightplancomponent.cpp @@ -551,7 +551,7 @@ namespace BlackGui void CFlightPlanComponent::initCompleters() { if (!sGui || !sGui->getWebDataServices()) { return; } - const QStringList aircraft = sGui->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes(); + const QStringList aircraft(sGui->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes().toList()); ui->le_AircraftType->setCompleter(new QCompleter(aircraft, this)); const QStringList airports = sGui->getWebDataServices()->getAirports().allIcaoCodes(true); diff --git a/src/blackmisc/aviation/aircrafticaocodelist.cpp b/src/blackmisc/aviation/aircrafticaocodelist.cpp index 3020488c6..a0af82388 100644 --- a/src/blackmisc/aviation/aircrafticaocodelist.cpp +++ b/src/blackmisc/aviation/aircrafticaocodelist.cpp @@ -180,7 +180,7 @@ namespace BlackMisc return c; } - QStringList CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const + QSet CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const { QSet c; for (const CAircraftIcaoCode &icao : *this) @@ -189,18 +189,18 @@ namespace BlackMisc const QString d(icao.getDesignator()); c.insert(d); } - return c.toList(); + return c; } - QStringList CAircraftIcaoCodeList::allManufacturers(bool onlyKnownDesignators) const + QSet CAircraftIcaoCodeList::allManufacturers(bool onlyKnownDesignators) const { - QStringList c; + QSet c; for (const CAircraftIcaoCode &icao : *this) { if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; } const QString m(icao.getManufacturer()); - if (m.isEmpty() || c.contains(m)) { continue; } - c.append(m); + if (m.isEmpty()) { continue; } + c.insert(m); // checks if already contains m } return c; } diff --git a/src/blackmisc/aviation/aircrafticaocodelist.h b/src/blackmisc/aviation/aircrafticaocodelist.h index 6b154b432..0578f5867 100644 --- a/src/blackmisc/aviation/aircrafticaocodelist.h +++ b/src/blackmisc/aviation/aircrafticaocodelist.h @@ -92,10 +92,10 @@ namespace BlackMisc QStringList toCompleterStrings(bool withIataCodes = false, bool withFamily = false, bool sort = true) const; //! All ICAO codes, no duplicates - QStringList allIcaoCodes(bool noUnspecified = true) const; + QSet allIcaoCodes(bool noUnspecified = true) const; //! All manufacturers - QStringList allManufacturers(bool onlyKnownDesignators = true) const; + QSet allManufacturers(bool onlyKnownDesignators = true) const; //! From our database JSON format static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true); diff --git a/src/blackmisc/simulation/aircraftmodellist.cpp b/src/blackmisc/simulation/aircraftmodellist.cpp index 1d2249008..c75f02cd8 100644 --- a/src/blackmisc/simulation/aircraftmodellist.cpp +++ b/src/blackmisc/simulation/aircraftmodellist.cpp @@ -143,7 +143,7 @@ namespace BlackMisc }); } - CAircraftModelList CAircraftModelList::findWithAircraftDesignator(const QStringList &designators) const + CAircraftModelList CAircraftModelList::findWithAircraftDesignator(const QSet &designators) const { if (designators.isEmpty()) { return CAircraftModelList(); } return this->findBy([ = ](const CAircraftModel & model) diff --git a/src/blackmisc/simulation/aircraftmodellist.h b/src/blackmisc/simulation/aircraftmodellist.h index 4491102f2..ed70f5052 100644 --- a/src/blackmisc/simulation/aircraftmodellist.h +++ b/src/blackmisc/simulation/aircraftmodellist.h @@ -103,7 +103,7 @@ namespace BlackMisc CAircraftModelList findWithAircraftDesignator() const; //! Models with aircraft ICAO code from list - CAircraftModelList findWithAircraftDesignator(const QStringList &designators) const; + CAircraftModelList findWithAircraftDesignator(const QSet &designators) const; //! Models with a known aircraft ICAO code set CAircraftModelList findWithKnownAircraftDesignator() const;