mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-17 19:05:31 +08:00
Ref T472, added aircraft category in ICAO model
This commit is contained in:
committed by
Mat Sutcliffe
parent
8af4603432
commit
b584398482
@@ -7,10 +7,11 @@
|
|||||||
* contained in the LICENSE file.
|
* contained in the LICENSE file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "blackcore/application.h"
|
|
||||||
#include "blackcore/data/globalsetup.h"
|
#include "blackcore/data/globalsetup.h"
|
||||||
#include "blackcore/db/icaodatareader.h"
|
#include "blackcore/db/icaodatareader.h"
|
||||||
#include "blackcore/db/databaseutils.h"
|
#include "blackcore/db/databaseutils.h"
|
||||||
|
#include "blackcore/application.h"
|
||||||
|
#include "blackmisc/aviation/aircraftcategorylist.h"
|
||||||
#include "blackmisc/fileutils.h"
|
#include "blackmisc/fileutils.h"
|
||||||
#include "blackmisc/json.h"
|
#include "blackmisc/json.h"
|
||||||
#include "blackmisc/logmessage.h"
|
#include "blackmisc/logmessage.h"
|
||||||
@@ -56,22 +57,22 @@ namespace BlackCore
|
|||||||
|
|
||||||
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDesignator(const QString &designator) const
|
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDesignator(const QString &designator) const
|
||||||
{
|
{
|
||||||
return getAircraftIcaoCodes().findFirstByDesignatorAndRank(designator);
|
return this->getAircraftIcaoCodes().findFirstByDesignatorAndRank(designator);
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForDesignator(const QString &designator) const
|
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForDesignator(const QString &designator) const
|
||||||
{
|
{
|
||||||
return getAircraftIcaoCodes().findByDesignator(designator);
|
return this->getAircraftIcaoCodes().findByDesignator(designator);
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForIataCode(const QString &iataCode) const
|
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForIataCode(const QString &iataCode) const
|
||||||
{
|
{
|
||||||
return getAircraftIcaoCodes().findByIataCode(iataCode);
|
return this->getAircraftIcaoCodes().findByIataCode(iataCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDbKey(int key) const
|
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDbKey(int key) const
|
||||||
{
|
{
|
||||||
return getAircraftIcaoCodes().findByKey(key);
|
return this->getAircraftIcaoCodes().findByKey(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CIcaoDataReader::containsAircraftIcaoDesignator(const QString &designator) const
|
bool CIcaoDataReader::containsAircraftIcaoDesignator(const QString &designator) const
|
||||||
@@ -163,7 +164,7 @@ namespace BlackCore
|
|||||||
|
|
||||||
bool CIcaoDataReader::areAllDataRead() const
|
bool CIcaoDataReader::areAllDataRead() const
|
||||||
{
|
{
|
||||||
return getCountriesCount() > 0 && getAirlineIcaoCodesCount() > 0 && getAircraftIcaoCodesCount() > 0;
|
return this->getCountriesCount() > 0 && getAirlineIcaoCodesCount() > 0 && getAircraftIcaoCodesCount() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CIcaoDataReader::getCountriesCount() const
|
int CIcaoDataReader::getCountriesCount() const
|
||||||
@@ -303,10 +304,11 @@ namespace BlackCore
|
|||||||
emit this->dataRead(CEntityFlags::AircraftIcaoEntity, CEntityFlags::ReadParsing, 0);
|
emit this->dataRead(CEntityFlags::AircraftIcaoEntity, CEntityFlags::ReadParsing, 0);
|
||||||
CAircraftIcaoCodeList codes;
|
CAircraftIcaoCodeList codes;
|
||||||
CAircraftIcaoCodeList inconsistent;
|
CAircraftIcaoCodeList inconsistent;
|
||||||
|
const CAircraftCategoryList categories = this->getAircraftCategories();
|
||||||
if (res.isRestricted())
|
if (res.isRestricted())
|
||||||
{
|
{
|
||||||
// create full list if it was just incremental
|
// create full list if it was just incremental
|
||||||
const CAircraftIcaoCodeList incrementalCodes(CAircraftIcaoCodeList::fromDatabaseJson(res, true, &inconsistent));
|
const CAircraftIcaoCodeList incrementalCodes(CAircraftIcaoCodeList::fromDatabaseJson(res, categories, true, &inconsistent));
|
||||||
if (incrementalCodes.isEmpty()) { return; } // currently ignored
|
if (incrementalCodes.isEmpty()) { return; } // currently ignored
|
||||||
codes = this->getAircraftIcaoCodes();
|
codes = this->getAircraftIcaoCodes();
|
||||||
codes.replaceOrAddObjectsByKey(incrementalCodes);
|
codes.replaceOrAddObjectsByKey(incrementalCodes);
|
||||||
@@ -316,7 +318,7 @@ namespace BlackCore
|
|||||||
// normally read from special DB view which already filters incomplete
|
// normally read from special DB view which already filters incomplete
|
||||||
QTime time;
|
QTime time;
|
||||||
time.start();
|
time.start();
|
||||||
codes = CAircraftIcaoCodeList::fromDatabaseJson(res, true, &inconsistent);
|
codes = CAircraftIcaoCodeList::fromDatabaseJson(res, categories, true, &inconsistent);
|
||||||
this->logParseMessage("aircraft ICAO", codes.size(), time.elapsed(), res);
|
this->logParseMessage("aircraft ICAO", codes.size(), time.elapsed(), res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,9 +32,11 @@ namespace BlackGui
|
|||||||
m_columns.addColumn(CColumn::standardValueObject("rank", CAircraftIcaoCode::IndexRank, CDefaultFormatter::alignRightVCenter()));
|
m_columns.addColumn(CColumn::standardValueObject("rank", CAircraftIcaoCode::IndexRank, CDefaultFormatter::alignRightVCenter()));
|
||||||
m_columns.addColumn(CColumn::standardString("manufacturer", CAircraftIcaoCode::IndexManufacturer));
|
m_columns.addColumn(CColumn::standardString("manufacturer", CAircraftIcaoCode::IndexManufacturer));
|
||||||
m_columns.addColumn(CColumn::standardString("family", CAircraftIcaoCode::IndexFamily));
|
m_columns.addColumn(CColumn::standardString("family", CAircraftIcaoCode::IndexFamily));
|
||||||
m_columns.addColumn(CColumn::standardString("ICAO desc.", "ICAO description", CAircraftIcaoCode::IndexModelDescription));
|
m_columns.addColumn(CColumn::standardString("category", { CAircraftIcaoCode::IndexCategory, CAircraftCategory::IndexPath }));
|
||||||
m_columns.addColumn(CColumn::standardString("IATA desc.", "IATA description", CAircraftIcaoCode::IndexModelIataDescription));
|
// m_columns.addColumn(CColumn::standardString("ICAO desc.", "ICAO description", CAircraftIcaoCode::IndexModelDescription));
|
||||||
m_columns.addColumn(CColumn::standardString("swift desc.", "swift description", CAircraftIcaoCode::IndexModelSwiftDescription));
|
// m_columns.addColumn(CColumn::standardString("IATA desc.", "IATA description", CAircraftIcaoCode::IndexModelIataDescription));
|
||||||
|
// m_columns.addColumn(CColumn::standardString("swift desc.", "swift description", CAircraftIcaoCode::IndexModelSwiftDescription));
|
||||||
|
m_columns.addColumn(CColumn::standardString("description", "ICAO description", CAircraftIcaoCode::IndexCombinedDescription));
|
||||||
m_columns.addColumn(CColumn::standardString("type", "combined type", CAircraftIcaoCode::IndexCombinedAircraftType));
|
m_columns.addColumn(CColumn::standardString("type", "combined type", CAircraftIcaoCode::IndexCombinedAircraftType));
|
||||||
m_columns.addColumn(CColumn::standardString("WTC", "wake turbulence category", CAircraftIcaoCode::IndexWtc));
|
m_columns.addColumn(CColumn::standardString("WTC", "wake turbulence category", CAircraftIcaoCode::IndexWtc));
|
||||||
m_columns.addColumn(CColumn("mil.", "military", CAircraftIcaoCode::IndexIsMilitary, new CBoolIconFormatter("military", "civil")));
|
m_columns.addColumn(CColumn("mil.", "military", CAircraftIcaoCode::IndexIsMilitary, new CBoolIconFormatter("military", "civil")));
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ namespace BlackGui
|
|||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~CAircraftIcaoCodeListModel() {}
|
virtual ~CAircraftIcaoCodeListModel() {}
|
||||||
};
|
};
|
||||||
}
|
} // ns
|
||||||
}
|
} // ns
|
||||||
|
|
||||||
#endif // guard
|
#endif // guard
|
||||||
|
|||||||
Reference in New Issue
Block a user