mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 12:35:43 +08:00
Ref T441, find model string duplicates
This commit is contained in:
@@ -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 ""; }
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <QStringList>
|
||||
#include <Qt>
|
||||
#include <QHash>
|
||||
#include <QMap>
|
||||
|
||||
namespace BlackMisc
|
||||
{
|
||||
@@ -205,6 +206,9 @@ namespace BlackMisc
|
||||
//! Find models where the filename is set and the file exists
|
||||
CAircraftModelList findModelsWithExistingFile() const;
|
||||
|
||||
//! Find duplicate model strings and return those models with at least 1 duplicate model string
|
||||
CAircraftModelList findDuplicateModelStrings() const;
|
||||
|
||||
//! All models of the FS (FSX, P3D, FS9) family
|
||||
CAircraftModelList getAllFsFamilyModels() const;
|
||||
|
||||
@@ -285,6 +289,9 @@ namespace BlackMisc
|
||||
//! Simulator counts
|
||||
CCountPerSimulator countPerSimulator() const;
|
||||
|
||||
//! Model strings plus count
|
||||
QMap<QString, int> countPerModelString() const;
|
||||
|
||||
//! Which simulator(s) have the most entries?
|
||||
CSimulatorInfo simulatorsWithMaxEntries() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user