mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 02:55:44 +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
|
CAircraftModelList CAircraftModelList::findByDistributors(const CDistributorList &distributors) const
|
||||||
{
|
{
|
||||||
if (distributors.isEmpty()) { return CAircraftModelList(); }
|
if (distributors.isEmpty()) { return CAircraftModelList(); }
|
||||||
|
|||||||
@@ -80,6 +80,12 @@ namespace BlackMisc
|
|||||||
//! 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;
|
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
|
//! Find by model string
|
||||||
//! \remark normally CAircraftModelList::findFirstByModelStringOrDefault would be used
|
//! \remark normally CAircraftModelList::findFirstByModelStringOrDefault would be used
|
||||||
CAircraftModelList findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
CAircraftModelList findByModelString(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||||
|
|||||||
@@ -169,6 +169,11 @@ namespace BlackMisc
|
|||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSimulatorInfo::invertSimulators()
|
||||||
|
{
|
||||||
|
m_simulator = (m_simulator ^ static_cast<int>(All)) & static_cast<int>(All);
|
||||||
|
}
|
||||||
|
|
||||||
const QString &CSimulatorInfo::toPluginIdentifier() const
|
const QString &CSimulatorInfo::toPluginIdentifier() const
|
||||||
{
|
{
|
||||||
static const QString e;
|
static const QString e;
|
||||||
|
|||||||
@@ -153,6 +153,9 @@ namespace BlackMisc
|
|||||||
//! As a set of single simulator info objects
|
//! As a set of single simulator info objects
|
||||||
QSet<CSimulatorInfo> asSingleSimulatorSet() const;
|
QSet<CSimulatorInfo> asSingleSimulatorSet() const;
|
||||||
|
|
||||||
|
//! All simulators selected become unselected and vice versa
|
||||||
|
void invertSimulators();
|
||||||
|
|
||||||
//! To plugin indentifier, empty string if not single simulator
|
//! To plugin indentifier, empty string if not single simulator
|
||||||
const QString &toPluginIdentifier() const;
|
const QString &toPluginIdentifier() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user