Ref T472, added aircraft category in ICAO model

This commit is contained in:
Klaus Basan
2019-02-17 16:35:36 +01:00
committed by Mat Sutcliffe
parent 8af4603432
commit b584398482
3 changed files with 18 additions and 13 deletions

View File

@@ -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);
}

View File

@@ -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")));

View File

@@ -34,6 +34,7 @@ namespace BlackGui
//! Destructor
virtual ~CAircraftIcaoCodeListModel() {}
};
}
}
} // ns
} // ns
#endif // guard