mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 07:15:35 +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.
|
||||
*/
|
||||
|
||||
#include "blackcore/application.h"
|
||||
#include "blackcore/data/globalsetup.h"
|
||||
#include "blackcore/db/icaodatareader.h"
|
||||
#include "blackcore/db/databaseutils.h"
|
||||
#include "blackcore/application.h"
|
||||
#include "blackmisc/aviation/aircraftcategorylist.h"
|
||||
#include "blackmisc/fileutils.h"
|
||||
#include "blackmisc/json.h"
|
||||
#include "blackmisc/logmessage.h"
|
||||
@@ -56,22 +57,22 @@ namespace BlackCore
|
||||
|
||||
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDesignator(const QString &designator) const
|
||||
{
|
||||
return getAircraftIcaoCodes().findFirstByDesignatorAndRank(designator);
|
||||
return this->getAircraftIcaoCodes().findFirstByDesignatorAndRank(designator);
|
||||
}
|
||||
|
||||
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForDesignator(const QString &designator) const
|
||||
{
|
||||
return getAircraftIcaoCodes().findByDesignator(designator);
|
||||
return this->getAircraftIcaoCodes().findByDesignator(designator);
|
||||
}
|
||||
|
||||
CAircraftIcaoCodeList CIcaoDataReader::getAircraftIcaoCodesForIataCode(const QString &iataCode) const
|
||||
{
|
||||
return getAircraftIcaoCodes().findByIataCode(iataCode);
|
||||
return this->getAircraftIcaoCodes().findByIataCode(iataCode);
|
||||
}
|
||||
|
||||
CAircraftIcaoCode CIcaoDataReader::getAircraftIcaoCodeForDbKey(int key) const
|
||||
{
|
||||
return getAircraftIcaoCodes().findByKey(key);
|
||||
return this->getAircraftIcaoCodes().findByKey(key);
|
||||
}
|
||||
|
||||
bool CIcaoDataReader::containsAircraftIcaoDesignator(const QString &designator) const
|
||||
@@ -163,7 +164,7 @@ namespace BlackCore
|
||||
|
||||
bool CIcaoDataReader::areAllDataRead() const
|
||||
{
|
||||
return getCountriesCount() > 0 && getAirlineIcaoCodesCount() > 0 && getAircraftIcaoCodesCount() > 0;
|
||||
return this->getCountriesCount() > 0 && getAirlineIcaoCodesCount() > 0 && getAircraftIcaoCodesCount() > 0;
|
||||
}
|
||||
|
||||
int CIcaoDataReader::getCountriesCount() const
|
||||
@@ -303,10 +304,11 @@ namespace BlackCore
|
||||
emit this->dataRead(CEntityFlags::AircraftIcaoEntity, CEntityFlags::ReadParsing, 0);
|
||||
CAircraftIcaoCodeList codes;
|
||||
CAircraftIcaoCodeList inconsistent;
|
||||
const CAircraftCategoryList categories = this->getAircraftCategories();
|
||||
if (res.isRestricted())
|
||||
{
|
||||
// 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
|
||||
codes = this->getAircraftIcaoCodes();
|
||||
codes.replaceOrAddObjectsByKey(incrementalCodes);
|
||||
@@ -316,7 +318,7 @@ namespace BlackCore
|
||||
// normally read from special DB view which already filters incomplete
|
||||
QTime time;
|
||||
time.start();
|
||||
codes = CAircraftIcaoCodeList::fromDatabaseJson(res, true, &inconsistent);
|
||||
codes = CAircraftIcaoCodeList::fromDatabaseJson(res, categories, true, &inconsistent);
|
||||
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::standardString("manufacturer", CAircraftIcaoCode::IndexManufacturer));
|
||||
m_columns.addColumn(CColumn::standardString("family", CAircraftIcaoCode::IndexFamily));
|
||||
m_columns.addColumn(CColumn::standardString("ICAO desc.", "ICAO description", CAircraftIcaoCode::IndexModelDescription));
|
||||
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("category", { CAircraftIcaoCode::IndexCategory, CAircraftCategory::IndexPath }));
|
||||
// m_columns.addColumn(CColumn::standardString("ICAO desc.", "ICAO description", CAircraftIcaoCode::IndexModelDescription));
|
||||
// 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("WTC", "wake turbulence category", CAircraftIcaoCode::IndexWtc));
|
||||
m_columns.addColumn(CColumn("mil.", "military", CAircraftIcaoCode::IndexIsMilitary, new CBoolIconFormatter("military", "civil")));
|
||||
|
||||
@@ -34,6 +34,7 @@ namespace BlackGui
|
||||
//! Destructor
|
||||
virtual ~CAircraftIcaoCodeListModel() {}
|
||||
};
|
||||
}
|
||||
}
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
#endif // guard
|
||||
|
||||
Reference in New Issue
Block a user