mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
Ref T472, allow to pass already existing values for model parsing
* list to map: toDbKeyValueMap * categories can also be passed, hence the categories can be seen in model views
This commit is contained in:
committed by
Mat Sutcliffe
parent
7a2ed1433d
commit
9cee34f4cc
@@ -10,7 +10,6 @@
|
||||
#include "blackmisc/simulation/aircraftmodellist.h"
|
||||
#include "blackmisc/simulation/matchingutils.h"
|
||||
#include "blackmisc/aviation/callsign.h"
|
||||
#include "blackmisc/aviation/liverylist.h"
|
||||
#include "blackmisc/math/mathutils.h"
|
||||
#include "blackmisc/compare.h"
|
||||
#include "blackmisc/iterator.h"
|
||||
@@ -1507,16 +1506,23 @@ namespace BlackMisc
|
||||
return stats;
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::fromDatabaseJsonCaching(const QJsonArray &array)
|
||||
CAircraftModelList CAircraftModelList::fromDatabaseJsonCaching(
|
||||
const QJsonArray &array,
|
||||
const CAircraftIcaoCodeList &icaos,
|
||||
const CAircraftCategoryList &categories,
|
||||
const CLiveryList &liveries,
|
||||
const CDistributorList &distributors
|
||||
)
|
||||
{
|
||||
AircraftIcaoIdMap aircraftIcaos;
|
||||
LiveryIdMap liveries;
|
||||
DistributorIdMap distributors;
|
||||
AircraftIcaoIdMap aircraftIcaosMap = icaos.toDbKeyValueMap();
|
||||
LiveryIdMap liveriesMap = liveries.toDbKeyValueMap();
|
||||
DistributorIdMap distributorsMap = distributors.toDbKeyValueMap();
|
||||
const AircraftCategoryIdMap categoriesMap = categories.toDbKeyValueMap();
|
||||
|
||||
CAircraftModelList models;
|
||||
for (const QJsonValue &value : array)
|
||||
{
|
||||
models.push_back(CAircraftModel::fromDatabaseJsonCaching(value.toObject(), aircraftIcaos, liveries, distributors));
|
||||
models.push_back(CAircraftModel::fromDatabaseJsonCaching(value.toObject(), aircraftIcaosMap, categoriesMap, liveriesMap, distributorsMap));
|
||||
}
|
||||
return models;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user