mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
Ref T441, model list utility functions
This commit is contained in:
@@ -150,6 +150,11 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByAircraftAndAirline(const CAircraftIcaoCode &aircraftIcaoCode, const CAirlineIcaoCode &airlineIcaoCode) const
|
||||
{
|
||||
return this->findBy(&CAircraftModel::getAircraftIcaoCode, aircraftIcaoCode, &CAircraftModel::getAirlineIcaoCode, airlineIcaoCode);
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByAircraftDesignatorAndLiveryCombinedCode(const QString &aircraftDesignator, const QString &combinedCode) const
|
||||
{
|
||||
if (aircraftDesignator.isEmpty()) { return CAircraftModelList(); }
|
||||
@@ -160,6 +165,11 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByAircraftAndLivery(const CAircraftIcaoCode &aircraftIcaoCode, const CLivery &livery) const
|
||||
{
|
||||
return this->findBy(&CAircraftModel::getAircraftIcaoCode, aircraftIcaoCode, &CAircraftModel::getLivery, livery);
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByLiveryCode(const CLivery &livery) const
|
||||
{
|
||||
if (!livery.hasCombinedCode()) { return CAircraftModelList(); }
|
||||
@@ -179,6 +189,14 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findByDistributor(const CDistributor &distributor) const
|
||||
{
|
||||
return this->findBy([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.getDistributor() == distributor;
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::findWithAircraftDesignator() const
|
||||
{
|
||||
return this->findBy([](const CAircraftModel & model)
|
||||
@@ -572,6 +590,21 @@ namespace BlackMisc
|
||||
return diff;
|
||||
}
|
||||
|
||||
int CAircraftModelList::removeByDistributor(const CDistributor &distributor)
|
||||
{
|
||||
return this->removeIf(&CAircraftModel::getDistributor, distributor);
|
||||
}
|
||||
|
||||
int CAircraftModelList::removeByAircraftAndLivery(const CAircraftIcaoCode &aircraftIcao, const CLivery &livery)
|
||||
{
|
||||
return this->removeIf(&CAircraftModel::getAircraftIcaoCode, aircraftIcao, &CAircraftModel::getLivery, livery);
|
||||
}
|
||||
|
||||
int CAircraftModelList::removeByAircraftAndAirline(const CAircraftIcaoCode &aircraftIcao, const CAirlineIcaoCode &airline)
|
||||
{
|
||||
return this->removeIf(&CAircraftModel::getAircraftIcaoCode, aircraftIcao, &CAircraftModel::getAirlineIcaoCode, airline);
|
||||
}
|
||||
|
||||
bool CAircraftModelList::replaceOrAddModelWithString(const CAircraftModel &addOrReplaceModel, Qt::CaseSensitivity sensitivity)
|
||||
{
|
||||
bool r = false;
|
||||
|
||||
@@ -121,21 +121,30 @@ namespace BlackMisc
|
||||
//! Find by a given list of models by strings
|
||||
CAircraftModelList findByModelStrings(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
//! Find by a given list of models trings
|
||||
//! Find by excluding given list of models strings
|
||||
CAircraftModelList findByNotInModelStrings(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
//! Find by model string
|
||||
//! Find by ICAO designators
|
||||
CAircraftModelList findByIcaoDesignators(const Aviation::CAircraftIcaoCode &aircraftIcaoCode, const Aviation::CAirlineIcaoCode &airlineIcaoCode) const;
|
||||
|
||||
//! Find by model string
|
||||
//! Find by ICAO of aircraft and airline
|
||||
CAircraftModelList findByAircraftAndAirline(const Aviation::CAircraftIcaoCode &aircraftIcaoCode, const Aviation::CAirlineIcaoCode &airlineIcaoCode) const;
|
||||
|
||||
//! Find by designator and livery code
|
||||
CAircraftModelList findByAircraftDesignatorAndLiveryCombinedCode(const QString &aircraftDesignator, const QString &combinedCode) const;
|
||||
|
||||
//! Find by aircraft and livery
|
||||
CAircraftModelList findByAircraftAndLivery(const Aviation::CAircraftIcaoCode &aircraftIcaoCode, const Aviation::CLivery &livery) const;
|
||||
|
||||
//! Find by livery code
|
||||
CAircraftModelList findByLiveryCode(const Aviation::CLivery &livery) const;
|
||||
|
||||
//! Models with file name
|
||||
CAircraftModelList findWithFileName() const;
|
||||
|
||||
//! All models from given distributors
|
||||
CAircraftModelList findByDistributor(const CDistributor &distributor) const;
|
||||
|
||||
//! All models from given distributors
|
||||
CAircraftModelList findByDistributors(const CDistributorList &distributors) const;
|
||||
|
||||
@@ -247,6 +256,18 @@ namespace BlackMisc
|
||||
//! \return number of elements removed
|
||||
int removeIfExcluded();
|
||||
|
||||
//! Remove by distributor
|
||||
//! \return number of elements removed
|
||||
int removeByDistributor(const CDistributor &distributor);
|
||||
|
||||
//! Remove if aircraft and livery
|
||||
//! \return number of elements removed
|
||||
int removeByAircraftAndLivery(const Aviation::CAircraftIcaoCode &aircraftIcao, const Aviation::CLivery &livery);
|
||||
|
||||
//! Remove if aircraft and airline
|
||||
//! \return number of elements removed
|
||||
int removeByAircraftAndAirline(const Aviation::CAircraftIcaoCode &aircraftIcao, const Aviation::CAirlineIcaoCode &airline);
|
||||
|
||||
//! Replace or add based on model string
|
||||
//! \return element removed?
|
||||
bool replaceOrAddModelWithString(const CAircraftModel &addOrReplaceModel, Qt::CaseSensitivity sensitivity);
|
||||
|
||||
Reference in New Issue
Block a user