mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-15 09:15:34 +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
|
CAircraftModelList CAircraftModelList::findByAircraftDesignatorAndLiveryCombinedCode(const QString &aircraftDesignator, const QString &combinedCode) const
|
||||||
{
|
{
|
||||||
if (aircraftDesignator.isEmpty()) { return CAircraftModelList(); }
|
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
|
CAircraftModelList CAircraftModelList::findByLiveryCode(const CLivery &livery) const
|
||||||
{
|
{
|
||||||
if (!livery.hasCombinedCode()) { return CAircraftModelList(); }
|
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
|
CAircraftModelList CAircraftModelList::findWithAircraftDesignator() const
|
||||||
{
|
{
|
||||||
return this->findBy([](const CAircraftModel & model)
|
return this->findBy([](const CAircraftModel & model)
|
||||||
@@ -572,6 +590,21 @@ namespace BlackMisc
|
|||||||
return diff;
|
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 CAircraftModelList::replaceOrAddModelWithString(const CAircraftModel &addOrReplaceModel, Qt::CaseSensitivity sensitivity)
|
||||||
{
|
{
|
||||||
bool r = false;
|
bool r = false;
|
||||||
|
|||||||
@@ -121,21 +121,30 @@ namespace BlackMisc
|
|||||||
//! Find by a given list of models by strings
|
//! Find by a given list of models by strings
|
||||||
CAircraftModelList findByModelStrings(const QStringList &modelStrings, Qt::CaseSensitivity sensitivity) const;
|
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;
|
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;
|
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;
|
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
|
//! Find by livery code
|
||||||
CAircraftModelList findByLiveryCode(const Aviation::CLivery &livery) const;
|
CAircraftModelList findByLiveryCode(const Aviation::CLivery &livery) const;
|
||||||
|
|
||||||
//! Models with file name
|
//! Models with file name
|
||||||
CAircraftModelList findWithFileName() const;
|
CAircraftModelList findWithFileName() const;
|
||||||
|
|
||||||
|
//! All models from given distributors
|
||||||
|
CAircraftModelList findByDistributor(const CDistributor &distributor) const;
|
||||||
|
|
||||||
//! All models from given distributors
|
//! All models from given distributors
|
||||||
CAircraftModelList findByDistributors(const CDistributorList &distributors) const;
|
CAircraftModelList findByDistributors(const CDistributorList &distributors) const;
|
||||||
|
|
||||||
@@ -247,6 +256,18 @@ namespace BlackMisc
|
|||||||
//! \return number of elements removed
|
//! \return number of elements removed
|
||||||
int removeIfExcluded();
|
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
|
//! Replace or add based on model string
|
||||||
//! \return element removed?
|
//! \return element removed?
|
||||||
bool replaceOrAddModelWithString(const CAircraftModel &addOrReplaceModel, Qt::CaseSensitivity sensitivity);
|
bool replaceOrAddModelWithString(const CAircraftModel &addOrReplaceModel, Qt::CaseSensitivity sensitivity);
|
||||||
|
|||||||
Reference in New Issue
Block a user