mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +08:00
Issue #114 Use CSetBuilder and CMapBuilder
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "blackmisc/aviation/aircraftcategorylist.h"
|
||||
#include "blackmisc/range.h"
|
||||
#include "blackmisc/setbuilder.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
@@ -49,7 +50,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAircraftCategoryList::getLevelStrings() const
|
||||
{
|
||||
QSet<QString> levels;
|
||||
CSetBuilder<QString> levels;
|
||||
for (const CAircraftCategory &category : *this)
|
||||
{
|
||||
levels.insert(category.getLevelString());
|
||||
@@ -66,27 +67,25 @@ namespace BlackMisc
|
||||
|
||||
QList<int> CAircraftCategoryList::getFirstLevels() const
|
||||
{
|
||||
QSet<int> levels;
|
||||
CSetBuilder<int> levels;
|
||||
for (const CAircraftCategory &category : *this)
|
||||
{
|
||||
levels.insert(category.getFirstLevel());
|
||||
}
|
||||
levels.remove(0);
|
||||
QList<int> ll = levels.values();
|
||||
std::sort(ll.begin(), ll.end());
|
||||
QList<int> ll = levels;
|
||||
ll.removeOne(0);
|
||||
return ll;
|
||||
}
|
||||
|
||||
QList<int> CAircraftCategoryList::getSecondLevels() const
|
||||
{
|
||||
QSet<int> levels;
|
||||
CSetBuilder<int> levels;
|
||||
for (const CAircraftCategory &category : *this)
|
||||
{
|
||||
levels.insert(category.getSecondLevel());
|
||||
}
|
||||
levels.remove(0);
|
||||
QList<int> ll = levels.values();
|
||||
std::sort(ll.begin(), ll.end());
|
||||
QList<int> ll = levels;
|
||||
ll.removeOne(0);
|
||||
return ll;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "aircrafticaocodelist.h"
|
||||
#include "aircraftcategorylist.h"
|
||||
#include "blackmisc/range.h"
|
||||
#include "blackmisc/setbuilder.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
@@ -256,7 +257,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allDesignators(bool noUnspecified) const
|
||||
{
|
||||
QSet<QString> c;
|
||||
CSetBuilder<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (noUnspecified && !icao.hasKnownDesignator()) { continue; }
|
||||
@@ -268,7 +269,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allDesignatorsAndKey(bool noUnspecified) const
|
||||
{
|
||||
QSet<QString> c;
|
||||
CSetBuilder<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (noUnspecified && !icao.hasKnownDesignator()) { continue; }
|
||||
@@ -280,7 +281,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allFamilies() const
|
||||
{
|
||||
QSet<QString> c;
|
||||
CSetBuilder<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (!icao.hasFamily()) { continue; }
|
||||
@@ -292,7 +293,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAircraftIcaoCodeList::allManufacturers(bool onlyKnownDesignators) const
|
||||
{
|
||||
QSet<QString> c;
|
||||
CSetBuilder<QString> c;
|
||||
for (const CAircraftIcaoCode &icao : *this)
|
||||
{
|
||||
if (onlyKnownDesignators && !icao.hasKnownDesignator()) { continue; }
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "blackmisc/swiftdirectories.h"
|
||||
#include "blackmisc/directoryutils.h"
|
||||
#include "blackmisc/verify.h"
|
||||
#include "blackmisc/setbuilder.h"
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QRegularExpression>
|
||||
@@ -503,7 +504,7 @@ namespace BlackMisc
|
||||
QDir dir(CSwiftDirectories::imagesAirlinesDirectory());
|
||||
Q_ASSERT_X(dir.exists(), Q_FUNC_INFO, "image directory missing");
|
||||
|
||||
QSet<int> ids;
|
||||
CSetBuilder<int> ids;
|
||||
dir.setFilter(QDir::Files | QDir::NoSymLinks);
|
||||
dir.setSorting(QDir::Name);
|
||||
for (const QFileInfo &fileInfo : dir.entryInfoList())
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "blackmisc/logcategories.h"
|
||||
#include "blackmisc/country.h"
|
||||
#include "blackmisc/range.h"
|
||||
#include "blackmisc/setbuilder.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QJsonValue>
|
||||
@@ -359,7 +360,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAirlineIcaoCodeList::allDesignators() const
|
||||
{
|
||||
QSet<QString> designators;
|
||||
CSetBuilder<QString> designators;
|
||||
for (const CAirlineIcaoCode &icao : *this)
|
||||
{
|
||||
if (!icao.hasValidDesignator()) { continue; }
|
||||
@@ -370,7 +371,7 @@ namespace BlackMisc
|
||||
|
||||
QSet<QString> CAirlineIcaoCodeList::allVDesignators() const
|
||||
{
|
||||
QSet<QString> designators;
|
||||
CSetBuilder<QString> designators;
|
||||
for (const CAirlineIcaoCode &icao : *this)
|
||||
{
|
||||
if (!icao.hasValidDesignator()) { continue; }
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "blackmisc/aviation/airportlist.h"
|
||||
#include "blackmisc/mixin/mixincompare.h"
|
||||
#include "blackmisc/range.h"
|
||||
#include "blackmisc/setbuilder.h"
|
||||
|
||||
#include <QString>
|
||||
#include <tuple>
|
||||
@@ -101,18 +102,16 @@ namespace BlackMisc
|
||||
return names;
|
||||
}
|
||||
|
||||
QStringList CAirportList::allLocations(bool sorted) const
|
||||
QStringList CAirportList::allLocations() const
|
||||
{
|
||||
QSet<QString> locations;
|
||||
CSetBuilder<QString> locations;
|
||||
for (const CAirport &airport : *this)
|
||||
{
|
||||
if (airport.getLocation().isEmpty()) { continue; }
|
||||
locations.insert(airport.getLocation());
|
||||
}
|
||||
|
||||
QStringList locs = locations.values();
|
||||
if (sorted) { locs.sort(); }
|
||||
return locs;
|
||||
return locations;
|
||||
}
|
||||
|
||||
QStringList CAirportList::allLocationsPlusOptionalDescription(bool sorted) const
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace BlackMisc
|
||||
|
||||
//! All locations
|
||||
//! \remark less locations than airports, since a location (e.g. New Yorrk) homes multiple airports
|
||||
QStringList allLocations(bool sorted) const;
|
||||
QStringList allLocations() const;
|
||||
|
||||
//! All locations plus optional description
|
||||
QStringList allLocationsPlusOptionalDescription(bool sorted) const;
|
||||
|
||||
Reference in New Issue
Block a user