mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
Ref T492, alias in model lists and model
Search for alias and modelstring in matching
This commit is contained in:
committed by
Mat Sutcliffe
parent
80e925fe80
commit
58cfdd1bb9
@@ -991,7 +991,7 @@ namespace BlackCore
|
||||
return CAircraftModel();
|
||||
}
|
||||
|
||||
CAircraftModel model = models.findFirstByModelStringOrDefault(remoteAircraft.getModelString());
|
||||
CAircraftModel model = models.findFirstByModelStringAliasOrDefault(remoteAircraft.getModelString());
|
||||
if (log)
|
||||
{
|
||||
if (model.hasModelString())
|
||||
|
||||
@@ -748,7 +748,7 @@ namespace BlackCore
|
||||
|
||||
// load from file
|
||||
CStatusMessage msg;
|
||||
const CAircraftModel model(this->getModelSet().findFirstByModelStringOrDefault(modelString));
|
||||
const CAircraftModel model(this->getModelSet().findFirstByModelStringAliasOrDefault(modelString));
|
||||
const CPixmap pm(model.loadIcon(msg));
|
||||
if (!msg.isEmpty()) { CLogMessage::preformatted(msg);}
|
||||
return pm;
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace BlackCore
|
||||
removedModelStrings.push_back(ms);
|
||||
continue;
|
||||
}
|
||||
CAircraftModel consolidated = simulatorModels.findFirstByModelStringOrDefault(ms);
|
||||
CAircraftModel consolidated = simulatorModels.findFirstByModelStringAliasOrDefault(ms);
|
||||
if (consolidated.hasModelString())
|
||||
{
|
||||
CDatabaseUtils::consolidateModelWithDbData(consolidated, true);
|
||||
@@ -237,7 +237,7 @@ namespace BlackCore
|
||||
if (ms.isEmpty()) { continue; }
|
||||
if (!dbModelsModelStrings.contains(ms)) { continue; }
|
||||
bool modified = false;
|
||||
const CAircraftModel consolidated = CDatabaseUtils::consolidateModelWithDbData(model, dbModels.findFirstByModelStringOrDefault(ms), force, &modified);
|
||||
const CAircraftModel consolidated = CDatabaseUtils::consolidateModelWithDbData(model, dbModels.findFirstByModelStringAliasOrDefault(ms), force, &modified);
|
||||
if (!modified) { continue; }
|
||||
model = consolidated;
|
||||
c++;
|
||||
@@ -327,7 +327,7 @@ namespace BlackCore
|
||||
if (ownModel.matchesSimulatorFlag(CSimulatorInfo::XPLANE)) { continue; }
|
||||
|
||||
// in DB
|
||||
CAircraftModel dbModel = dbFsFamilyModels.findFirstByModelStringOrDefault(ownModel.getModelString());
|
||||
CAircraftModel dbModel = dbFsFamilyModels.findFirstByModelStringAliasOrDefault(ownModel.getModelString());
|
||||
if (!dbModel.isLoadedFromDb()) { continue; }
|
||||
|
||||
// update simulator and add
|
||||
|
||||
@@ -112,7 +112,7 @@ namespace BlackGui
|
||||
|
||||
case Database:
|
||||
m_columns.addColumn(CColumn::standardString("id", CAircraftModel::IndexDbIntegerKey, CDefaultFormatter::alignRightVCenter()));
|
||||
m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexModelString));
|
||||
m_columns.addColumn(CColumn::standardString("model", CAircraftModel::IndexAllModelStrings));
|
||||
m_columns.addColumn(CColumn("mode", "model mode(include, exclude)", CAircraftModel::IndexModelModeAsIcon, new CPixmapFormatter()));
|
||||
|
||||
m_columns.addColumn(CColumn::standardString("dist.", "distributor", { CAircraftModel::IndexDistributor, CDistributor::IndexDbStringKey}));
|
||||
|
||||
@@ -114,6 +114,15 @@ namespace BlackMisc
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModel CAircraftModelList::findFirstByModelStringAliasOrDefault(const QString &modelString, Qt::CaseSensitivity sensitivity) const
|
||||
{
|
||||
if (modelString.isEmpty()) { return CAircraftModel(); }
|
||||
return this->findFirstByOrDefault([ & ](const CAircraftModel & model)
|
||||
{
|
||||
return model.matchesModelStringOrAlias(modelString, sensitivity);
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftModel CAircraftModelList::findFirstByCallsignOrDefault(const CCallsign &callsign) const
|
||||
{
|
||||
if (callsign.isEmpty()) { return CAircraftModel(); }
|
||||
@@ -817,6 +826,16 @@ namespace BlackMisc
|
||||
return this->getCombinedTypes().size();
|
||||
}
|
||||
|
||||
int CAircraftModelList::countAliases() const
|
||||
{
|
||||
int count = 0;
|
||||
for (const CAircraftModel &model : (*this))
|
||||
{
|
||||
if (model.hasModelStringAlias()) { count++; }
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
void CAircraftModelList::updateDistributor(const CDistributor &distributor)
|
||||
{
|
||||
for (CAircraftModel &model : *this)
|
||||
|
||||
@@ -113,6 +113,9 @@ namespace BlackMisc
|
||||
//! Find first by model string
|
||||
CAircraftModel findFirstByModelStringOrDefault(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! Find first by model string
|
||||
CAircraftModel findFirstByModelStringAliasOrDefault(const QString &modelString, Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive) const;
|
||||
|
||||
//! Find first by callsign
|
||||
CAircraftModel findFirstByCallsignOrDefault(const Aviation::CCallsign &callsign) const;
|
||||
|
||||
@@ -323,6 +326,9 @@ namespace BlackMisc
|
||||
//! Count different combined types
|
||||
int countCombinedTypes() const;
|
||||
|
||||
//! Models with aliases
|
||||
int countAliases() const;
|
||||
|
||||
//! Update distributor, all models in list are set to given distributor
|
||||
void updateDistributor(const CDistributor &distributor);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user