mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 07:15:35 +08:00
Airline group functions
This commit is contained in:
@@ -1131,6 +1131,30 @@ namespace BlackMisc
|
||||
return designators;
|
||||
}
|
||||
|
||||
CAirlineIcaoCodeList CAircraftModelList::getAirlineIcaoCodesForGroup(int groupId) const
|
||||
{
|
||||
if (groupId < 0) { return {}; }
|
||||
CAirlineIcaoCodeList icaos;
|
||||
for (const CAircraftModel &model : *this)
|
||||
{
|
||||
if (model.getAirlineIcaoCode().getGroupId() == groupId)
|
||||
{
|
||||
icaos.push_back(model.getAirlineIcaoCode());
|
||||
}
|
||||
}
|
||||
return icaos;
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftModelList::getAirlineDesignatorsForGroup(int groupId) const
|
||||
{
|
||||
return this->getAirlineIcaoCodesForGroup(groupId).allDesignators();
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftModelList::getAirlineVDesignatorsForGroup(int groupId) const
|
||||
{
|
||||
return this->getAirlineIcaoCodesForGroup(groupId).allVDesignators();
|
||||
}
|
||||
|
||||
QSet<QString> CAircraftModelList::getCombinedTypes() const
|
||||
{
|
||||
QSet<QString> combinedCodes;
|
||||
|
||||
@@ -418,6 +418,15 @@ namespace BlackMisc
|
||||
//! Airline virtual designators
|
||||
QSet<QString> getAirlineVDesignators() const;
|
||||
|
||||
//! Airline ICAO codes for given group, without duplicates
|
||||
Aviation::CAirlineIcaoCodeList getAirlineIcaoCodesForGroup(int groupId) const;
|
||||
|
||||
//! Airline designators
|
||||
QSet<QString> getAirlineDesignatorsForGroup(int groupId) const;
|
||||
|
||||
//! Airline virtual designators
|
||||
QSet<QString> getAirlineVDesignatorsForGroup(int groupId) const;
|
||||
|
||||
//! All combined types
|
||||
QSet<QString> getCombinedTypes() const;
|
||||
|
||||
|
||||
@@ -392,6 +392,8 @@ namespace BlackMisc
|
||||
|
||||
QString joinStringSet(const QSet<QString> &set, const QString &separator)
|
||||
{
|
||||
if (set.isEmpty()) { return {}; }
|
||||
if (set.size() == 1) { return *set.begin(); }
|
||||
return set.toList().join(separator);
|
||||
}
|
||||
|
||||
@@ -446,6 +448,12 @@ namespace BlackMisc
|
||||
return copy;
|
||||
}
|
||||
|
||||
const QString &defaultIfEmpty(const QString &candidate, const QString &defaultIfEmpty)
|
||||
{
|
||||
if (candidate.isEmpty()) { return defaultIfEmpty; }
|
||||
return candidate;
|
||||
}
|
||||
|
||||
} // ns
|
||||
|
||||
//! \endcond
|
||||
|
||||
@@ -292,6 +292,9 @@ namespace BlackMisc
|
||||
//! Remove comments such as /** **/ or //
|
||||
BLACKMISC_EXPORT QString removeComments(const QString &in, bool removeSlash, bool removeDoubleSlash);
|
||||
|
||||
//! Default string if string is empty
|
||||
BLACKMISC_EXPORT const QString &defaultIfEmpty(const QString &candidate, const QString &defaultIfEmpty);
|
||||
|
||||
namespace Mixin
|
||||
{
|
||||
/*!
|
||||
|
||||
Reference in New Issue
Block a user