From 3073710dba17421c657e444fbb8992a7ae344b73 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sat, 19 Mar 2016 19:28:38 +0100 Subject: [PATCH] refs #619, function to get all ICAO designators as string list --- src/blackmisc/aviation/aircrafticaocodelist.cpp | 13 +++++++++++++ src/blackmisc/aviation/aircrafticaocodelist.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/src/blackmisc/aviation/aircrafticaocodelist.cpp b/src/blackmisc/aviation/aircrafticaocodelist.cpp index 4571262f3..2983a5548 100644 --- a/src/blackmisc/aviation/aircrafticaocodelist.cpp +++ b/src/blackmisc/aviation/aircrafticaocodelist.cpp @@ -114,6 +114,19 @@ namespace BlackMisc return c; } + QStringList CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const + { + QStringList c; + for (const CAircraftIcaoCode &icao : *this) + { + if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; } + const QString d(icao.getDesignator()); + if (c.contains(d)) { continue; } + c.append(d); + } + return c; + } + CAircraftIcaoCodeList CAircraftIcaoCodeList::fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete) { CAircraftIcaoCodeList codes; diff --git a/src/blackmisc/aviation/aircrafticaocodelist.h b/src/blackmisc/aviation/aircrafticaocodelist.h index fbec727ca..90b419f2e 100644 --- a/src/blackmisc/aviation/aircrafticaocodelist.h +++ b/src/blackmisc/aviation/aircrafticaocodelist.h @@ -71,6 +71,9 @@ namespace BlackMisc //! For selection completion QStringList toCompleterStrings(bool withIataCodes = false, bool withFamily = false) const; + //! All ICAO codes, no duplicates + QStringList allIcaoCodes(bool noUnspecified = true) const; + //! From our database JSON format static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true); };