mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-11 23:05:34 +08:00
Ref T75, filter aircraft ICAO by id
This commit is contained in:
@@ -17,12 +17,14 @@ namespace BlackGui
|
||||
namespace Models
|
||||
{
|
||||
CAircraftIcaoFilter::CAircraftIcaoFilter(
|
||||
int id,
|
||||
const QString &designator, const QString &name,
|
||||
const QString &description, const QString &combinedType) :
|
||||
m_id(id),
|
||||
m_designator(designator.trimmed().toUpper()), m_manufacturer(name.trimmed()),
|
||||
m_description(description.trimmed()), m_combinedType(combinedType.trimmed().toUpper())
|
||||
{
|
||||
this->m_valid = !(this->m_combinedType.isEmpty() && this->m_designator.isEmpty() &&
|
||||
this->m_valid = !(this->m_id < 0 && this->m_combinedType.isEmpty() && this->m_designator.isEmpty() &&
|
||||
this->m_description.isEmpty() && this->m_manufacturer.isEmpty());
|
||||
}
|
||||
|
||||
@@ -34,6 +36,16 @@ namespace BlackGui
|
||||
|
||||
for (const CAircraftIcaoCode &icao : inContainer)
|
||||
{
|
||||
if (m_id >= 0)
|
||||
{
|
||||
// search only for id
|
||||
if (icao.isLoadedFromDb() && icao.getDbKey() == m_id)
|
||||
{
|
||||
outContainer.push_back(icao);
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (!m_designator.isEmpty())
|
||||
{
|
||||
if (!this->stringMatchesFilterExpression(icao.getDesignator(), m_designator)) { continue; }
|
||||
|
||||
@@ -29,7 +29,8 @@ namespace BlackGui
|
||||
{
|
||||
public:
|
||||
//! Constructor
|
||||
CAircraftIcaoFilter(const QString &designator,
|
||||
CAircraftIcaoFilter(int id,
|
||||
const QString &designator,
|
||||
const QString &manufacturer,
|
||||
const QString &description,
|
||||
const QString &combinedType);
|
||||
@@ -38,6 +39,7 @@ namespace BlackGui
|
||||
virtual BlackMisc::Aviation::CAircraftIcaoCodeList filter(const BlackMisc::Aviation::CAircraftIcaoCodeList &inContainer) const override;
|
||||
|
||||
private:
|
||||
int m_id = -1;
|
||||
QString m_designator;
|
||||
QString m_manufacturer;
|
||||
QString m_description;
|
||||
|
||||
Reference in New Issue
Block a user