mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-16 02:06:08 +08:00
Ref T492, added model alias
This commit is contained in:
committed by
Mat Sutcliffe
parent
49a49f48ee
commit
80e925fe80
@@ -12,25 +12,25 @@
|
||||
#ifndef BLACKMISC_SIMULATION_AIRCRAFTMODEL_H
|
||||
#define BLACKMISC_SIMULATION_AIRCRAFTMODEL_H
|
||||
|
||||
#include "blackmisc/simulation/distributor.h"
|
||||
#include "blackmisc/simulation/distributorlist.h"
|
||||
#include "blackmisc/simulation/simulatorinfo.h"
|
||||
#include "blackmisc/aviation/aircrafticaocode.h"
|
||||
#include "blackmisc/aviation/airlineicaocode.h"
|
||||
#include "blackmisc/aviation/callsign.h"
|
||||
#include "blackmisc/aviation/livery.h"
|
||||
#include "blackmisc/pq/length.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
#include "blackmisc/db/datastore.h"
|
||||
#include "blackmisc/statusmessagelist.h"
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include "blackmisc/dictionary.h"
|
||||
#include "blackmisc/memotable.h"
|
||||
#include "blackmisc/metaclass.h"
|
||||
#include "blackmisc/orderable.h"
|
||||
#include "blackmisc/pixmap.h"
|
||||
#include "blackmisc/propertyindex.h"
|
||||
#include "blackmisc/simulation/distributor.h"
|
||||
#include "blackmisc/simulation/distributorlist.h"
|
||||
#include "blackmisc/simulation/simulatorinfo.h"
|
||||
#include "blackmisc/statusmessagelist.h"
|
||||
#include "blackmisc/valueobject.h"
|
||||
#include "blackmisc/variant.h"
|
||||
#include "blackmisc/blackmiscexport.h"
|
||||
|
||||
#include <QFlags>
|
||||
#include <QHash>
|
||||
@@ -45,6 +45,7 @@
|
||||
namespace BlackMisc
|
||||
{
|
||||
class CIcon;
|
||||
|
||||
namespace Simulation
|
||||
{
|
||||
//! DB ids
|
||||
@@ -102,6 +103,8 @@ namespace BlackMisc
|
||||
enum ColumnIndex
|
||||
{
|
||||
IndexModelString = CPropertyIndex::GlobalIndexCAircraftModel,
|
||||
IndexModelStringAlias,
|
||||
IndexAllModelStrings, //!< indluding aliases
|
||||
IndexCallsign,
|
||||
IndexName,
|
||||
IndexDescription,
|
||||
@@ -179,6 +182,15 @@ namespace BlackMisc
|
||||
//! Model string
|
||||
void setModelString(const QString &modelString) { m_modelString = modelString.trimmed().toUpper(); }
|
||||
|
||||
//! Model key, either queried or loaded from simulator model
|
||||
const QString &getModelStringAlias() const { return m_modelStringAlias; }
|
||||
|
||||
//! Get model string and aliases
|
||||
QString getAllModelStringsAndAliases() const;
|
||||
|
||||
//! Model string alias
|
||||
void setModelStringAlias(const QString &alias) { m_modelStringAlias = alias.trimmed().toUpper(); }
|
||||
|
||||
//! Descriptive text
|
||||
const QString &getDescription() const { return m_description; }
|
||||
|
||||
@@ -354,9 +366,15 @@ namespace BlackMisc
|
||||
//! Model string which was manually set
|
||||
bool hasManuallySetString() const;
|
||||
|
||||
//! Non empty model string
|
||||
//! Non empty model string?
|
||||
bool hasModelString() const { return !m_modelString.isEmpty(); }
|
||||
|
||||
//! Non empty model string alias?
|
||||
bool hasModelStringAlias() const { return !m_modelStringAlias.isEmpty(); }
|
||||
|
||||
//! Any model string or alias?
|
||||
bool hasAnyModelString() const { return this->hasModelString() || this->hasModelStringAlias(); }
|
||||
|
||||
//! Description
|
||||
bool hasDescription(bool ignoreAutoGenerated = false) const;
|
||||
|
||||
@@ -369,6 +387,9 @@ namespace BlackMisc
|
||||
//! Matches model string?
|
||||
bool matchesModelString(const QString &modelString, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
//! Matches model string or alias?
|
||||
bool matchesModelStringOrAlias(const QString &modelString, Qt::CaseSensitivity sensitivity) const;
|
||||
|
||||
//! Calculate score
|
||||
int calculateScore(const CAircraftModel &compareModel, bool preferColorLiveries, CStatusMessageList *log = nullptr) const;
|
||||
|
||||
@@ -499,8 +520,8 @@ namespace BlackMisc
|
||||
Aviation::CLivery m_livery; //!< livery information
|
||||
CSimulatorInfo m_simulator; //!< model for given simulator
|
||||
CDistributor m_distributor; //!< who designed or distributed the model
|
||||
PhysicalQuantities::CLength m_cg = PhysicalQuantities::CLength::null(); //!< center of gravity
|
||||
QString m_modelString; //!< Simulator model key, unique
|
||||
QString m_modelStringAlias; //!< Simulator model key alias, unique
|
||||
QString m_name; //!< Model name
|
||||
QString m_description; //!< descriptive text
|
||||
QString m_fileName; //!< file name
|
||||
@@ -509,6 +530,7 @@ namespace BlackMisc
|
||||
qint64 m_fileTimestamp = -1; //!< file timestamp of originating file (if applicable)
|
||||
ModelType m_modelType = TypeUnknown; //!< model string is coming representing ...?
|
||||
ModelMode m_modelMode = Include; //!< model mode (include / exclude)
|
||||
PhysicalQuantities::CLength m_cg = PhysicalQuantities::CLength::null(); //!< center of gravity
|
||||
|
||||
BLACK_METACLASS(
|
||||
CAircraftModel,
|
||||
@@ -523,6 +545,7 @@ namespace BlackMisc
|
||||
BLACK_METAMEMBER(cg),
|
||||
BLACK_METAMEMBER(supportedParts),
|
||||
BLACK_METAMEMBER(modelString, 0, CaseInsensitiveComparison),
|
||||
BLACK_METAMEMBER(modelStringAlias, 0, CaseInsensitiveComparison),
|
||||
BLACK_METAMEMBER(name),
|
||||
BLACK_METAMEMBER(description, 0, DisabledForComparison),
|
||||
BLACK_METAMEMBER(fileName, 0, DisabledForComparison),
|
||||
|
||||
Reference in New Issue
Block a user