mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 19:35:32 +08:00
Ref T182, utility functions for model/model list
This commit is contained in:
@@ -328,6 +328,11 @@ namespace BlackMisc
|
||||
this->getLivery().isMilitary();
|
||||
}
|
||||
|
||||
bool CAircraftModel::isCivilian() const
|
||||
{
|
||||
return !this->isMilitary();
|
||||
}
|
||||
|
||||
bool CAircraftModel::setDistributorOrder(int order)
|
||||
{
|
||||
if (order < 0) { return false; }
|
||||
|
||||
@@ -214,6 +214,9 @@ namespace BlackMisc
|
||||
//! Military model?
|
||||
bool isMilitary() const;
|
||||
|
||||
//! Civilian model?
|
||||
bool isCivilian() const;
|
||||
|
||||
//! Get livery
|
||||
const BlackMisc::Aviation::CLivery &getLivery() const { return m_livery; }
|
||||
|
||||
|
||||
@@ -281,6 +281,14 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByVtolFlag(bool vtol) const
|
||||
{
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
{
|
||||
return (model.isVtol() == vtol);
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::getAllFsFamilyModels() const
|
||||
{
|
||||
return this->findBy([](const CAircraftModel & model)
|
||||
@@ -350,6 +358,35 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsMilitary() const
|
||||
{
|
||||
return this->containsBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.isMilitary();
|
||||
});
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsCivilian() const
|
||||
{
|
||||
return this->containsBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.isCivilian();
|
||||
});
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsCivilianAndMilitary() const
|
||||
{
|
||||
return this->containsMilitary() && this->containsCivilian();
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsVtol() const
|
||||
{
|
||||
return this->containsBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.isVtol();
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByDistributors(const CDistributorList &distributors) const
|
||||
{
|
||||
if (distributors.isEmpty()) { return CAircraftModelList(); }
|
||||
|
||||
@@ -62,30 +62,42 @@ namespace BlackMisc
|
||||
//! Construct from a base class object.
|
||||
CAircraftModelList(const CSequence<CAircraftModel> &other);
|
||||
|
||||
//! Contains model string
|
||||
//! Contains model string?
|
||||
bool containsModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! Contains model with model string or id
|
||||
//! Contains model with model string or id?
|
||||
bool containsModelStringOrDbKey(const BlackMisc::Simulation::CAircraftModel &model, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! Contains model for callsign
|
||||
//! Contains model for callsign?
|
||||
bool containsCallsign(const BlackMisc::Aviation::CCallsign &callsign) const;
|
||||
|
||||
//! Contains given combined type
|
||||
//! Contains given combined type?
|
||||
bool containsCombinedType(const QString &combinedType) const;
|
||||
|
||||
//! Contains any model with aircraft ICAO designator
|
||||
//! Contains any model with aircraft ICAO designator?
|
||||
bool containsModelsWithAircraftIcaoDesignator(const QString &aircraftDesignator) const;
|
||||
|
||||
//! Contains any model with aircraft and airline ICAO designator
|
||||
//! Contains any model with aircraft and airline ICAO designator?
|
||||
bool containsModelsWithAircraftAndAirlineIcaoDesignator(const QString &aircraftDesignator, const QString &airlineDesignator) const;
|
||||
|
||||
//! Contains any model matching any of of passed simulators
|
||||
//! Contains any model matching any of of passed simulators?
|
||||
bool containsMatchingSimulator(const CSimulatorInfo &simulators) const;
|
||||
|
||||
//! Contains any model not matching any of of passed simulators
|
||||
//! Contains any model not matching any of of passed simulators?
|
||||
bool containsNotMatchingSimulator(const CSimulatorInfo &simulators) const;
|
||||
|
||||
//! Contains military models?
|
||||
bool containsMilitary() const;
|
||||
|
||||
//! Contains civilian models?
|
||||
bool containsCivilian() const;
|
||||
|
||||
//! Contains both, military and civilian models?
|
||||
bool containsCivilianAndMilitary() const;
|
||||
|
||||
//! Contains VTOL models?
|
||||
bool containsVtol() const;
|
||||
|
||||
//! Find by model string
|
||||
//! \remark normally CAircraftModelList::findFirstByModelStringOrDefault would be used
|
||||
CAircraftModelList findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
@@ -156,9 +168,12 @@ namespace BlackMisc
|
||||
//! Find models with color liveries
|
||||
CAircraftModelList findColorLiveries() const;
|
||||
|
||||
//! Find by military flag
|
||||
//! Find by military flag, \c false returns civilian models
|
||||
CAircraftModelList findByMilitaryFlag(bool military) const;
|
||||
|
||||
//! Find by VTOL flag, \c false returns non VTOL models
|
||||
CAircraftModelList findByVtolFlag(bool vtol) const;
|
||||
|
||||
//! Model icon path
|
||||
QString findModelIconPathByModelString(const QString &modelString) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user