Ref T472, support for aircraft category flag

This commit is contained in:
Klaus Basan
2019-01-31 23:59:32 +01:00
committed by Mat Sutcliffe
parent bada0c2f59
commit 210df12889
5 changed files with 54 additions and 48 deletions

View File

@@ -23,6 +23,7 @@ namespace BlackMisc
switch (flag)
{
case AircraftIcaoEntity: return QStringLiteral("Aircraft ICAO");
case AircraftCategoryEntity: return QStringLiteral("Aircraft category");
case AirlineIcaoEntity: return QStringLiteral("Airline ICAO");
case AirportEntity: return QStringLiteral("Airport");
case AllEntities: return QStringLiteral("All");
@@ -53,6 +54,7 @@ namespace BlackMisc
{
QStringList list;
if (entities.testFlag(AircraftIcaoEntity)) list << QStringLiteral("Aircraft ICAO");
if (entities.testFlag(AircraftCategoryEntity)) list << QStringLiteral("Aircraft category");
if (entities.testFlag(AirlineIcaoEntity)) list << QStringLiteral("Airline ICAO");
if (entities.testFlag(AirportEntity)) list << QStringLiteral("Airport");
if (entities.testFlag(BookingEntity)) list << QStringLiteral("VATSIM bookings");
@@ -155,6 +157,7 @@ namespace BlackMisc
if (entities.testFlag(CountryEntity)) { entities &= ~CountryEntity; return CountryEntity; }
if (entities.testFlag(ModelEntity)) { entities &= ~ModelEntity; return ModelEntity; }
if (entities.testFlag(DistributorEntity)) { entities &= ~DistributorEntity; return DistributorEntity; }
if (entities.testFlag(AircraftCategoryEntity)) { entities &= ~AircraftCategoryEntity; return AircraftCategoryEntity; }
return NoEntity;
}
@@ -180,13 +183,14 @@ namespace BlackMisc
CEntityFlags::Entity CEntityFlags::singleEntityByName(const QString &name)
{
// order here is crucial
if (name.contains("model", Qt::CaseInsensitive)) { return ModelEntity; }
if (name.contains("model", Qt::CaseInsensitive)) { return ModelEntity; }
if (name.contains("category", Qt::CaseInsensitive)) { return AircraftCategoryEntity; }
if (name.contains("aircraft", Qt::CaseInsensitive)) { return AircraftIcaoEntity; }
if (name.contains("airline", Qt::CaseInsensitive)) { return AirlineIcaoEntity; }
if (name.contains("airport", Qt::CaseInsensitive)) { return AirportEntity; }
if (name.contains("airline", Qt::CaseInsensitive)) { return AirlineIcaoEntity; }
if (name.contains("airport", Qt::CaseInsensitive)) { return AirportEntity; }
if (name.contains("distributor", Qt::CaseInsensitive)) { return DistributorEntity; }
if (name.contains("countr", Qt::CaseInsensitive)) { return CountryEntity; } // singular/plural
if (name.contains("liver", Qt::CaseInsensitive)) { return LiveryEntity; } // singular/plural
if (name.contains("countr", Qt::CaseInsensitive)) { return CountryEntity; } // singular/plural
if (name.contains("liver", Qt::CaseInsensitive)) { return LiveryEntity; } // singular/plural
return NoEntity;
}

View File

@@ -46,14 +46,15 @@ namespace BlackMisc
VatsimDataFile = 1 << 10, //!< the VATSIM data file (multiple data entities)
VatsimStatusFile = 1 << 11, //!< the VATSIM status file (URLs for data files etc.)
AirportEntity = 1 << 12, //!< airports
AllEntities = ((1 << 13) - 1), //!< everything
AllIcaoEntities = AircraftIcaoEntity | AirlineIcaoEntity, //!< all ICAO codes
AllIcaoAndCountries = AircraftIcaoEntity | AirlineIcaoEntity | CountryEntity, //!< all ICAO codes and countries
DistributorLiveryModel = DistributorEntity | LiveryEntity | ModelEntity, //!< Combinded
ModelMatchingEntities = AllIcaoEntities | LiveryEntity | ModelEntity, //!< all needed for model matching
AllDbEntities = AllIcaoAndCountries | DistributorLiveryModel | DbInfoObjectEntity | AirportEntity, //!< All DB stuff
AllDbEntitiesNoInfoObjects = AllIcaoAndCountries | DistributorLiveryModel | AirportEntity, //!< All DB entities, no info objects
AllDbEntitiesNoInfoObjectsNoAirports = AllIcaoAndCountries | DistributorLiveryModel //!< All DB entities, no info objects and airports
AircraftCategoryEntity = 1 << 13, //!< aircraft category entities
AllEntities = ((1 << 14) - 1), //!< everything
AllIcaoEntities = AircraftIcaoEntity | AirlineIcaoEntity, //!< all ICAO codes
AllIcaoAndCountries = AircraftIcaoEntity | AirlineIcaoEntity | CountryEntity, //!< all ICAO codes and countries
DistributorLiveryModel = DistributorEntity | LiveryEntity | ModelEntity, //!< Combined
ModelMatchingEntities = AllIcaoEntities | LiveryEntity | ModelEntity, //!< all needed for model matching
AllDbEntitiesNoInfoObjects = AllIcaoAndCountries | DistributorLiveryModel | AirportEntity | AircraftCategoryEntity, //!< all DB entities, no info objects
AllDbEntities = AllDbEntitiesNoInfoObjects | DbInfoObjectEntity, //!< all DB stuff
AllDbEntitiesNoInfoObjectsNoAirportsAndCategories = AllIcaoAndCountries | DistributorLiveryModel //!< all DB entities, no info objects and airports
};
Q_DECLARE_FLAGS(Entity, EntityFlag)