refs #768, changes to QSet<QString>

* based on review https://dev.vatsim-germany.org/issues/768#note-5
* changed a few signatures to QSet<QString>
This commit is contained in:
Klaus Basan
2016-10-19 23:35:26 +02:00
parent 65950e4518
commit 7279772cab
6 changed files with 12 additions and 12 deletions

View File

@@ -52,7 +52,7 @@ namespace BlackCore
else if (oprions.testFlag(OnlyDbIcaoCodes)) else if (oprions.testFlag(OnlyDbIcaoCodes))
{ {
Q_ASSERT_X(sApp->hasWebDataServices(), Q_FUNC_INFO, "No web data services"); Q_ASSERT_X(sApp->hasWebDataServices(), Q_FUNC_INFO, "No web data services");
const QStringList designators(sApp->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes()); const QSet<QString> designators(sApp->getWebDataServices()->getAircraftIcaoCodes().allIcaoCodes());
modelSet = modelSet.findWithAircraftDesignator(designators); modelSet = modelSet.findWithAircraftDesignator(designators);
} }
else else

View File

@@ -551,7 +551,7 @@ namespace BlackGui
void CFlightPlanComponent::initCompleters() void CFlightPlanComponent::initCompleters()
{ {
if (!sGui || !sGui->getWebDataServices()) { return; } 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)); ui->le_AircraftType->setCompleter(new QCompleter(aircraft, this));
const QStringList airports = sGui->getWebDataServices()->getAirports().allIcaoCodes(true); const QStringList airports = sGui->getWebDataServices()->getAirports().allIcaoCodes(true);

View File

@@ -180,7 +180,7 @@ namespace BlackMisc
return c; return c;
} }
QStringList CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const QSet<QString> CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const
{ {
QSet<QString> c; QSet<QString> c;
for (const CAircraftIcaoCode &icao : *this) for (const CAircraftIcaoCode &icao : *this)
@@ -189,18 +189,18 @@ namespace BlackMisc
const QString d(icao.getDesignator()); const QString d(icao.getDesignator());
c.insert(d); c.insert(d);
} }
return c.toList(); return c;
} }
QStringList CAircraftIcaoCodeList::allManufacturers(bool onlyKnownDesignators) const QSet<QString> CAircraftIcaoCodeList::allManufacturers(bool onlyKnownDesignators) const
{ {
QStringList c; QSet<QString> c;
for (const CAircraftIcaoCode &icao : *this) for (const CAircraftIcaoCode &icao : *this)
{ {
if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; } if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; }
const QString m(icao.getManufacturer()); const QString m(icao.getManufacturer());
if (m.isEmpty() || c.contains(m)) { continue; } if (m.isEmpty()) { continue; }
c.append(m); c.insert(m); // checks if already contains m
} }
return c; return c;
} }

View File

@@ -92,10 +92,10 @@ namespace BlackMisc
QStringList toCompleterStrings(bool withIataCodes = false, bool withFamily = false, bool sort = true) const; QStringList toCompleterStrings(bool withIataCodes = false, bool withFamily = false, bool sort = true) const;
//! All ICAO codes, no duplicates //! All ICAO codes, no duplicates
QStringList allIcaoCodes(bool noUnspecified = true) const; QSet<QString> allIcaoCodes(bool noUnspecified = true) const;
//! All manufacturers //! All manufacturers
QStringList allManufacturers(bool onlyKnownDesignators = true) const; QSet<QString> allManufacturers(bool onlyKnownDesignators = true) const;
//! From our database JSON format //! From our database JSON format
static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true); static CAircraftIcaoCodeList fromDatabaseJson(const QJsonArray &array, bool ignoreIncomplete = true);

View File

@@ -143,7 +143,7 @@ namespace BlackMisc
}); });
} }
CAircraftModelList CAircraftModelList::findWithAircraftDesignator(const QStringList &designators) const CAircraftModelList CAircraftModelList::findWithAircraftDesignator(const QSet<QString> &designators) const
{ {
if (designators.isEmpty()) { return CAircraftModelList(); } if (designators.isEmpty()) { return CAircraftModelList(); }
return this->findBy([ = ](const CAircraftModel & model) return this->findBy([ = ](const CAircraftModel & model)

View File

@@ -103,7 +103,7 @@ namespace BlackMisc
CAircraftModelList findWithAircraftDesignator() const; CAircraftModelList findWithAircraftDesignator() const;
//! Models with aircraft ICAO code from list //! Models with aircraft ICAO code from list
CAircraftModelList findWithAircraftDesignator(const QStringList &designators) const; CAircraftModelList findWithAircraftDesignator(const QSet<QString> &designators) const;
//! Models with a known aircraft ICAO code set //! Models with a known aircraft ICAO code set
CAircraftModelList findWithKnownAircraftDesignator() const; CAircraftModelList findWithKnownAircraftDesignator() const;