mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-09 13:35:34 +08:00
refs #577, filter for aircraft model
* allow to filter by distributor * filter by simulator on change
This commit is contained in:
@@ -22,12 +22,14 @@ namespace BlackGui
|
||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||
const QString &airlineIcao, const QString &airlineName,
|
||||
const QString &liveryCode,
|
||||
const CSimulatorInfo &simInfo) :
|
||||
const CSimulatorInfo &simInfo,
|
||||
const CDistributor &distributor) :
|
||||
m_modelKey(modelKey.trimmed()), m_description(description.trimmed()),
|
||||
m_aircraftIcao(aircraftIcao.trimmed().toUpper()), m_aircraftManufacturer(aircraftManufacturer.trimmed().toUpper()),
|
||||
m_airlineIcao(airlineIcao.trimmed().toUpper()), m_airlineName(airlineName.trimmed().toUpper()),
|
||||
m_liveryCode(liveryCode.trimmed().toUpper()),
|
||||
m_simulatorInfo(simInfo)
|
||||
m_simulatorInfo(simInfo),
|
||||
m_distributor(distributor)
|
||||
{ }
|
||||
|
||||
BlackMisc::Simulation::CAircraftModelList CAircraftModelFilter::filter(const CAircraftModelList &inContainer) const
|
||||
@@ -75,6 +77,12 @@ namespace BlackGui
|
||||
{
|
||||
if (!this->stringMatchesFilterExpression(model.getLivery().getCombinedCode(), this->m_liveryCode)) { continue; }
|
||||
}
|
||||
|
||||
if (this->m_distributor.hasValidDbKey())
|
||||
{
|
||||
if (!model.getDistributor().matchesKeyOrAlias(this->m_distributor)) { continue; }
|
||||
}
|
||||
|
||||
outContainer.push_back(model);
|
||||
}
|
||||
return outContainer;
|
||||
@@ -86,6 +94,7 @@ namespace BlackGui
|
||||
this->m_aircraftManufacturer.isEmpty() && this->m_aircraftIcao.isEmpty() &&
|
||||
this->m_airlineIcao.isEmpty() && this->m_airlineName.isEmpty() &&
|
||||
this->m_liveryCode.isEmpty() &&
|
||||
!this->m_distributor.hasValidDbKey() &&
|
||||
this->m_simulatorInfo.isNoSimulator()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,9 @@ namespace BlackGui
|
||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||
const QString &airlineIcao, const QString &airlineName,
|
||||
const QString &liveryCode,
|
||||
const BlackMisc::Simulation::CSimulatorInfo &simInfo = BlackMisc::Simulation::CSimulatorInfo::allSimulators());
|
||||
const BlackMisc::Simulation::CSimulatorInfo &simInfo = BlackMisc::Simulation::CSimulatorInfo::allSimulators(),
|
||||
const BlackMisc::Simulation::CDistributor &distributor = BlackMisc::Simulation::CDistributor()
|
||||
);
|
||||
|
||||
//! \copydoc IModelFilter::filter
|
||||
virtual BlackMisc::Simulation::CAircraftModelList filter(const BlackMisc::Simulation::CAircraftModelList &inContainer) const override;
|
||||
@@ -47,6 +49,7 @@ namespace BlackGui
|
||||
QString m_airlineName;
|
||||
QString m_liveryCode;
|
||||
BlackMisc::Simulation::CSimulatorInfo m_simulatorInfo;
|
||||
BlackMisc::Simulation::CDistributor m_distributor;
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user