mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T67, utility functions for simulator info/model list
This commit is contained in:
@@ -280,6 +280,22 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsMatchingSimulator(const CSimulatorInfo &simulators) const
|
||||
{
|
||||
return this->containsBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.matchesSimulator(simulators);
|
||||
});
|
||||
}
|
||||
|
||||
bool CAircraftModelList::containsNotMatchingSimulator(const CSimulatorInfo &simulators) const
|
||||
{
|
||||
return this->containsBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return !model.matchesSimulator(simulators);
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByDistributors(const CDistributorList &distributors) const
|
||||
{
|
||||
if (distributors.isEmpty()) { return CAircraftModelList(); }
|
||||
|
||||
@@ -80,6 +80,12 @@ namespace BlackMisc
|
||||
//! 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
|
||||
bool containsMatchingSimulator(const CSimulatorInfo &simulators) const;
|
||||
|
||||
//! Contains any model not matching any of of passed simulators
|
||||
bool containsNotMatchingSimulator(const CSimulatorInfo &simulators) const;
|
||||
|
||||
//! Find by model string
|
||||
//! \remark normally CAircraftModelList::findFirstByModelStringOrDefault would be used
|
||||
CAircraftModelList findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
@@ -169,6 +169,11 @@ namespace BlackMisc
|
||||
return set;
|
||||
}
|
||||
|
||||
void CSimulatorInfo::invertSimulators()
|
||||
{
|
||||
m_simulator = (m_simulator ^ static_cast<int>(All)) & static_cast<int>(All);
|
||||
}
|
||||
|
||||
const QString &CSimulatorInfo::toPluginIdentifier() const
|
||||
{
|
||||
static const QString e;
|
||||
|
||||
@@ -153,6 +153,9 @@ namespace BlackMisc
|
||||
//! As a set of single simulator info objects
|
||||
QSet<CSimulatorInfo> asSingleSimulatorSet() const;
|
||||
|
||||
//! All simulators selected become unselected and vice versa
|
||||
void invertSimulators();
|
||||
|
||||
//! To plugin indentifier, empty string if not single simulator
|
||||
const QString &toPluginIdentifier() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user