mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-30 11:55:35 +08:00
Ref T701, utility functions
This commit is contained in:
committed by
Mat Sutcliffe
parent
e389d5ac83
commit
6e99bf2e02
@@ -155,6 +155,9 @@ namespace BlackMisc
|
||||
//! Avoid compiler warnings when using with int
|
||||
int sizeInt() const { return static_cast<int>(this->size()); }
|
||||
|
||||
//! Convenience function
|
||||
QString sizeString() const { return QString::number(m_impl.size()); }
|
||||
|
||||
//! Returns true if the sequence is empty.
|
||||
bool empty() const { return m_impl.isEmpty(); }
|
||||
|
||||
@@ -412,7 +415,8 @@ namespace BlackMisc
|
||||
}
|
||||
|
||||
//! Reversed order
|
||||
CSequence reversed() const {
|
||||
CSequence reversed() const
|
||||
{
|
||||
CSequence result = *this;
|
||||
result.reverse();
|
||||
return result;
|
||||
|
||||
@@ -525,6 +525,34 @@ namespace BlackMisc
|
||||
return icaos;
|
||||
}
|
||||
|
||||
QMap<CAirlineIcaoCode, int> CAircraftModelList::countPerAirlineIcao() const
|
||||
{
|
||||
QMap<CAirlineIcaoCode, int> icaos;
|
||||
for (const CAircraftModel &model : *this)
|
||||
{
|
||||
if (!model.hasAirlineDesignator()) { continue; }
|
||||
if (icaos.contains(model.getAirlineIcaoCode()))
|
||||
{
|
||||
icaos[model.getAirlineIcaoCode()]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
icaos[model.getAirlineIcaoCode()] = 1;
|
||||
}
|
||||
}
|
||||
return icaos;
|
||||
}
|
||||
|
||||
CAirlineIcaoCode CAircraftModelList::getAirlineWithMaxCount() const
|
||||
{
|
||||
const QMap<CAirlineIcaoCode, int> ac = this->countPerAirlineIcao();
|
||||
if (ac.size() < 1) { return {}; }
|
||||
if (ac.size() == 1) { return ac.firstKey(); }
|
||||
const QList<int> values = ac.values();
|
||||
const int max = *std::max_element(values.begin(), values.end());
|
||||
return ac.key(max);
|
||||
}
|
||||
|
||||
QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const
|
||||
{
|
||||
if (modelString.isEmpty()) { return {}; }
|
||||
|
||||
@@ -364,6 +364,12 @@ namespace BlackMisc
|
||||
//! Aircraft ICAO plus count
|
||||
QMap<BlackMisc::Aviation::CAircraftIcaoCode, int> countPerAircraftIcao() const;
|
||||
|
||||
//! Airline ICAO plus count
|
||||
QMap<BlackMisc::Aviation::CAirlineIcaoCode, int> countPerAirlineIcao() const;
|
||||
|
||||
//! The airline with the max count
|
||||
Aviation::CAirlineIcaoCode getAirlineWithMaxCount() const;
|
||||
|
||||
//! Which simulator(s) have the most entries?
|
||||
CSimulatorInfo simulatorsWithMaxEntries() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user