mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 08:36:52 +08:00
refs #618, allow to filter my include/exclude
This commit is contained in:
@@ -16,15 +16,13 @@ namespace BlackGui
|
||||
{
|
||||
namespace Models
|
||||
{
|
||||
|
||||
CAircraftModelFilter::CAircraftModelFilter(
|
||||
const QString &modelKey, const QString &description,
|
||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||
const QString &airlineIcao, const QString &airlineName,
|
||||
const QString &liveryCode,
|
||||
const CSimulatorInfo &simInfo,
|
||||
const CDistributor &distributor) :
|
||||
m_modelKey(modelKey.trimmed()), m_description(description.trimmed()),
|
||||
CAircraftModelFilter::CAircraftModelFilter(const QString &modelKey, const QString &description, CAircraftModel::ModelModeFilter modelMode,
|
||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||
const QString &airlineIcao, const QString &airlineName,
|
||||
const QString &liveryCode,
|
||||
const CSimulatorInfo &simInfo,
|
||||
const CDistributor &distributor) :
|
||||
m_modelKey(modelKey.trimmed().toUpper()), m_description(description.trimmed()), m_modelMode(modelMode),
|
||||
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()),
|
||||
@@ -53,6 +51,11 @@ namespace BlackGui
|
||||
if (!this->stringMatchesFilterExpression(model.getDescription(), this->m_description)) { continue; }
|
||||
}
|
||||
|
||||
if (this->m_modelMode != CAircraftModel::Undefined)
|
||||
{
|
||||
if (!model.matchesMode(this->m_modelMode)) { continue; }
|
||||
}
|
||||
|
||||
if (!this->m_aircraftIcao.isEmpty())
|
||||
{
|
||||
if (!this->stringMatchesFilterExpression(model.getAircraftIcaoCodeDesignator(), this->m_aircraftIcao)) { continue; }
|
||||
@@ -91,6 +94,7 @@ namespace BlackGui
|
||||
bool CAircraftModelFilter::isValid() const
|
||||
{
|
||||
return !(this->m_modelKey.isEmpty() && this->m_description.isEmpty() &&
|
||||
(this->m_modelMode != CAircraftModel::Undefined && this->m_modelMode != CAircraftModel::All) &&
|
||||
this->m_aircraftManufacturer.isEmpty() && this->m_aircraftIcao.isEmpty() &&
|
||||
this->m_airlineIcao.isEmpty() && this->m_airlineName.isEmpty() &&
|
||||
this->m_liveryCode.isEmpty() &&
|
||||
|
||||
@@ -20,13 +20,12 @@ namespace BlackGui
|
||||
{
|
||||
namespace Models
|
||||
{
|
||||
|
||||
//! Filter for aircraft models
|
||||
class BLACKGUI_EXPORT CAircraftModelFilter : public IModelFilter<BlackMisc::Simulation::CAircraftModelList>
|
||||
{
|
||||
public:
|
||||
//! Constructor
|
||||
CAircraftModelFilter(const QString &modelKey, const QString &description,
|
||||
CAircraftModelFilter(const QString &modelKey, const QString &description, BlackMisc::Simulation::CAircraftModel::ModelModeFilter modelMode,
|
||||
const QString &aircraftIcao, const QString &aircraftManufacturer,
|
||||
const QString &airlineIcao, const QString &airlineName,
|
||||
const QString &liveryCode,
|
||||
@@ -43,6 +42,7 @@ namespace BlackGui
|
||||
private:
|
||||
QString m_modelKey;
|
||||
QString m_description;
|
||||
BlackMisc::Simulation::CAircraftModel::ModelModeFilter m_modelMode;
|
||||
QString m_aircraftIcao;
|
||||
QString m_aircraftManufacturer;
|
||||
QString m_airlineIcao;
|
||||
|
||||
Reference in New Issue
Block a user