refs #618, allow to filter my include/exclude

This commit is contained in:
Klaus Basan
2016-03-21 04:14:30 +01:00
parent ec8f9b70b6
commit 7d785b4e3b
7 changed files with 158 additions and 88 deletions

View File

@@ -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() &&

View File

@@ -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;