Ref T441, find model string duplicates

This commit is contained in:
Klaus Basan
2018-11-26 06:19:19 +01:00
parent 2b8d7f425e
commit 0002752fa6
2 changed files with 38 additions and 1 deletions

View File

@@ -22,7 +22,6 @@
#include <QJsonValue>
#include <QList>
#include <QMultiMap>
#include <QMap>
#include <tuple>
using namespace BlackMisc::Network;
@@ -349,6 +348,37 @@ namespace BlackMisc
});
}
CAircraftModelList CAircraftModelList::findDuplicateModelStrings() const
{
const QMap<QString, int> modelStrings = this->countPerModelString();
CAircraftModelList duplicates;
for (const QString &ms : modelStrings.keys())
{
if (modelStrings[ms] > 1)
{
duplicates.push_back(this->findByModelString(ms, Qt::CaseInsensitive));
}
}
return duplicates;
}
QMap<QString, int> CAircraftModelList::countPerModelString() const
{
QMap<QString, int> modelStrings;
for (const CAircraftModel &model : *this)
{
if (modelStrings.contains(model.getModelString()))
{
modelStrings[model.getModelModeAsString()]++;
}
else
{
modelStrings[model.getModelModeAsString()] = 1;
}
}
return modelStrings;
}
QString CAircraftModelList::findModelIconPathByModelString(const QString &modelString) const
{
if (modelString.isEmpty()) { return ""; }