mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 11:05:33 +08:00
Ref T310, utility functions for statistics (incl.renaming)
This commit is contained in:
@@ -250,18 +250,30 @@ namespace BlackMisc
|
||||
return c;
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allIcaoCodes(bool onlyKnownDesignators) const
|
||||
QSet<QString> CAircraftIcaoCodeList::allDesignators(bool noUnspecified) const
|
||||
{
|
||||
QSet<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; }
|
||||
if (noUnspecified && !icao.hasKnownDesignator()) { continue; }
|
||||
const QString d(icao.getDesignator());
|
||||
c.insert(d);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allDesignatorsAndKey(bool noUnspecified) const
|
||||
{
|
||||
QSet<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (noUnspecified && !icao.hasKnownDesignator()) { continue; }
|
||||
const QString d(icao.getDesignatorDbKey());
|
||||
c.insert(d);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allFamilies() const
|
||||
{
|
||||
QSet<QString> c;
|
||||
|
||||
@@ -122,7 +122,10 @@ namespace BlackMisc
|
||||
QStringList toCompleterStrings(bool withIataCodes = false, bool withFamily = false, bool sort = true) const;
|
||||
|
||||
//! All ICAO codes, no duplicates
|
||||
QSet<QString> allIcaoCodes(bool noUnspecified = true) const;
|
||||
QSet<QString> allDesignators(bool noUnspecified = true) const;
|
||||
|
||||
//! All ICAO codes and DB key, no duplicates
|
||||
QSet<QString> allDesignatorsAndKey(bool noUnspecified = true) const;
|
||||
|
||||
//! All families, no duplicates
|
||||
QSet<QString> allFamilies() const;
|
||||
|
||||
@@ -302,10 +302,9 @@ namespace BlackMisc
|
||||
|
||||
QString CAirlineIcaoCode::getCombinedStringWithKey() const
|
||||
{
|
||||
QString s(getVDesignator());
|
||||
if (s.isEmpty()) s = "????";
|
||||
if (hasName()) { s = s.append(" ").append(getName()); }
|
||||
return s.append(this->getDbKeyAsStringInParentheses(" "));
|
||||
return (this->hasValidDesignator() ? this->getVDesignator() : QStringLiteral("")) %
|
||||
(this->hasName() ? QStringLiteral(" ") % m_name : QStringLiteral("")) %
|
||||
this->getDbKeyAsStringInParentheses(" ");
|
||||
}
|
||||
|
||||
CAirlineIcaoCode CAirlineIcaoCode::thisOrCallsignCode(const CCallsign &callsign) const
|
||||
|
||||
@@ -273,6 +273,28 @@ namespace BlackMisc
|
||||
return c;
|
||||
}
|
||||
|
||||
QSet<QString> CAirlineIcaoCodeList::allDesignators() const
|
||||
{
|
||||
QSet<QString> designators;
|
||||
for (const CAirlineIcaoCode &icao : *this)
|
||||
{
|
||||
if (!icao.hasValidDesignator()) { continue; }
|
||||
designators.insert(icao.getDesignator());
|
||||
}
|
||||
return designators;
|
||||
}
|
||||
|
||||
QSet<QString> CAirlineIcaoCodeList::allVDesignators() const
|
||||
{
|
||||
QSet<QString> designators;
|
||||
for (const CAirlineIcaoCode &icao : *this)
|
||||
{
|
||||
if (!icao.hasValidDesignator()) { continue; }
|
||||
designators.insert(icao.getVDesignator());
|
||||
}
|
||||
return designators;
|
||||
}
|
||||
|
||||
bool CAirlineIcaoCodeList::containsDesignator(const QString &designator) const
|
||||
{
|
||||
if (designator.isEmpty()) { return false; }
|
||||
|
||||
@@ -101,6 +101,12 @@ namespace BlackMisc
|
||||
//! String list for completion by name
|
||||
QStringList toNameCompleterStrings(bool sort = true) const;
|
||||
|
||||
//! All designators
|
||||
QSet<QString> allDesignators() const;
|
||||
|
||||
//! All designators
|
||||
QSet<QString> allVDesignators() const;
|
||||
|
||||
//! Contains given designator?
|
||||
bool containsDesignator(const QString &designator) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user