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
|
//! Avoid compiler warnings when using with int
|
||||||
int sizeInt() const { return static_cast<int>(this->size()); }
|
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.
|
//! Returns true if the sequence is empty.
|
||||||
bool empty() const { return m_impl.isEmpty(); }
|
bool empty() const { return m_impl.isEmpty(); }
|
||||||
|
|
||||||
@@ -412,7 +415,8 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
|
|
||||||
//! Reversed order
|
//! Reversed order
|
||||||
CSequence reversed() const {
|
CSequence reversed() const
|
||||||
|
{
|
||||||
CSequence result = *this;
|
CSequence result = *this;
|
||||||
result.reverse();
|
result.reverse();
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -525,6 +525,34 @@ namespace BlackMisc
|
|||||||
return icaos;
|
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
|
QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const
|
||||||
{
|
{
|
||||||
if (modelString.isEmpty()) { return {}; }
|
if (modelString.isEmpty()) { return {}; }
|
||||||
|
|||||||
@@ -364,6 +364,12 @@ namespace BlackMisc
|
|||||||
//! Aircraft ICAO plus count
|
//! Aircraft ICAO plus count
|
||||||
QMap<BlackMisc::Aviation::CAircraftIcaoCode, int> countPerAircraftIcao() const;
|
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?
|
//! Which simulator(s) have the most entries?
|
||||||
CSimulatorInfo simulatorsWithMaxEntries() const;
|
CSimulatorInfo simulatorsWithMaxEntries() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user