mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-28 11:45:40 +08:00
refs #618, unified naming in model list + minor adjustments
This commit is contained in:
@@ -51,7 +51,8 @@ namespace BlackMisc
|
||||
{
|
||||
Undefined = 0,
|
||||
Include = 1 << 0,
|
||||
Exclude = 1 << 1
|
||||
Exclude = 1 << 1,
|
||||
All = Include | Exclude
|
||||
};
|
||||
|
||||
//! Supposed to be used only in filter operations
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::withAircraftDesignator() const
|
||||
CAircraftModelList CAircraftModelList::findWithAircraftDesignator() const
|
||||
{
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
{
|
||||
@@ -110,7 +110,7 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::withAircraftDesignator(const QStringList &designators) const
|
||||
CAircraftModelList CAircraftModelList::findWithAircraftDesignator(const QStringList &designators) const
|
||||
{
|
||||
if (designators.isEmpty()) { return CAircraftModelList(); }
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
@@ -119,7 +119,7 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::withKnownAircraftDesignator() const
|
||||
CAircraftModelList CAircraftModelList::findWithKnownAircraftDesignator() const
|
||||
{
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
{
|
||||
@@ -127,7 +127,16 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::byDistributor(const CDistributorList &distributors) const
|
||||
CAircraftModelList CAircraftModelList::matchesSimulator(const CSimulatorInfo &simulator) const
|
||||
{
|
||||
const CSimulatorInfo::Simulator s = simulator.getSimulator();
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
{
|
||||
return (s & model.getSimulatorInfo().getSimulator()) > 0;
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByDistributors(const CDistributorList &distributors) const
|
||||
{
|
||||
if (distributors.isEmpty()) { return CAircraftModelList(); }
|
||||
return this->findBy([ = ](const CAircraftModel & model)
|
||||
@@ -136,12 +145,40 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
void CAircraftModelList::setSimulatorInfo(const CSimulatorInfo &info)
|
||||
int CAircraftModelList::setSimulatorInfo(const CSimulatorInfo &info)
|
||||
{
|
||||
int c = 0;
|
||||
const CSimulatorInfo::Simulator s = info.getSimulator();
|
||||
for (CAircraftModel &model : (*this))
|
||||
{
|
||||
if (model.getSimulatorInfo().getSimulator() == s) { continue; }
|
||||
model.setSimulatorInfo(info);
|
||||
c++;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
CSimulatorInfo CAircraftModelList::simulatorsSupported() const
|
||||
{
|
||||
CSimulatorInfo::Simulator s = CSimulatorInfo::None;
|
||||
for (const CAircraftModel &model : (*this))
|
||||
{
|
||||
s |= model.getSimulatorInfo().getSimulator();
|
||||
if (s == CSimulatorInfo::All) { break; }
|
||||
}
|
||||
return CSimulatorInfo(s);
|
||||
}
|
||||
|
||||
int CAircraftModelList::setModelMode(CAircraftModel::ModelMode mode)
|
||||
{
|
||||
int c = 0;
|
||||
for (CAircraftModel &model : (*this))
|
||||
{
|
||||
if (model.getModelMode() == mode) { continue; }
|
||||
model.setModelMode(mode);
|
||||
c++;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
int CAircraftModelList::keepModelsWithString(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity)
|
||||
@@ -244,7 +281,7 @@ namespace BlackMisc
|
||||
return validateForPublishing(invalidModels);
|
||||
}
|
||||
|
||||
CStatusMessageList CAircraftModelList::validateForPublishing(CAircraftModelList &invalidModels) const
|
||||
CStatusMessageList CAircraftModelList::validateForPublishing(CAircraftModelList &validateModels) const
|
||||
{
|
||||
if (this->isEmpty()) { return CStatusMessageList(); }
|
||||
CStatusMessageList msgs;
|
||||
@@ -271,7 +308,7 @@ namespace BlackMisc
|
||||
singleMsg.prependMessage(model.getModelString() + ": ");
|
||||
}
|
||||
msgs.push_back(singleMsg);
|
||||
invalidModels.push_back(model);
|
||||
validateModels.push_back(model);
|
||||
}
|
||||
return msgs;
|
||||
}
|
||||
|
||||
@@ -69,20 +69,29 @@ namespace BlackMisc
|
||||
//! With file name
|
||||
CAircraftModelList findWithFileName() const;
|
||||
|
||||
//! All models from given distributors
|
||||
CAircraftModelList findByDistributors(const CDistributorList &distributors) const;
|
||||
|
||||
//! Models with aircraft ICAO code set
|
||||
CAircraftModelList withAircraftDesignator() const;
|
||||
CAircraftModelList findWithAircraftDesignator() const;
|
||||
|
||||
//! Models with aircraft ICAO code from list
|
||||
CAircraftModelList withAircraftDesignator(const QStringList &designators) const;
|
||||
CAircraftModelList findWithAircraftDesignator(const QStringList &designators) const;
|
||||
|
||||
//! Models with a known aircraft ICAO code set
|
||||
CAircraftModelList withKnownAircraftDesignator() const;
|
||||
CAircraftModelList findWithKnownAircraftDesignator() const;
|
||||
|
||||
//! All models from given distributors
|
||||
CAircraftModelList byDistributor(const CDistributorList &distributors) const;
|
||||
//! Find for given simulator
|
||||
CAircraftModelList matchesSimulator(const BlackMisc::Simulation::CSimulatorInfo &simulator) const;
|
||||
|
||||
//! Set simulator for all elements
|
||||
void setSimulatorInfo(const BlackMisc::Simulation::CSimulatorInfo &info);
|
||||
int setSimulatorInfo(const BlackMisc::Simulation::CSimulatorInfo &info);
|
||||
|
||||
//! Which simulators are supported in that model list
|
||||
CSimulatorInfo simulatorsSupported() const;
|
||||
|
||||
//! Set mode for all elements
|
||||
int setModelMode(BlackMisc::Simulation::CAircraftModel::ModelMode mode);
|
||||
|
||||
//! Keep only those models with given model strings
|
||||
//! \return number of elements removed
|
||||
@@ -112,7 +121,7 @@ namespace BlackMisc
|
||||
CStatusMessageList validateForPublishing() const;
|
||||
|
||||
//! Validate for publishing
|
||||
CStatusMessageList validateForPublishing(CAircraftModelList &invalidModels) const;
|
||||
CStatusMessageList validateForPublishing(CAircraftModelList &validateModels) const;
|
||||
|
||||
//! To database JSON
|
||||
QJsonArray toDatabaseJson() const;
|
||||
|
||||
Reference in New Issue
Block a user