Ref T259, Ref T243 details for aircraft parts

This commit is contained in:
Klaus Basan
2018-04-05 02:44:48 +02:00
committed by Roland Winklmeier
parent c1ac229875
commit c3f05ea1cd
3 changed files with 43 additions and 2 deletions

View File

@@ -25,7 +25,8 @@ namespace BlackMisc
QString CAircraftParts::convertToQString(bool i18n) const QString CAircraftParts::convertToQString(bool i18n) const
{ {
return QStringLiteral("ts: ") % this->getFormattedTimestampAndOffset(true) % return QStringLiteral("ts: ") % this->getFormattedTimestampAndOffset(true) %
QStringLiteral(" on ground: ") % BlackMisc::boolToYesNo(m_isOnGround) % QStringLiteral(" details: ") % this->getPartsDetailsAsString() %
QStringLiteral(" | on ground: ") % BlackMisc::boolToYesNo(m_isOnGround) %
QStringLiteral(" | lights: ") % m_lights.toQString(i18n) % QStringLiteral(" | lights: ") % m_lights.toQString(i18n) %
QStringLiteral(" | gear down: ") % BlackMisc::boolToYesNo(m_gearDown) % QStringLiteral(" | gear down: ") % BlackMisc::boolToYesNo(m_gearDown) %
QStringLiteral(" | flaps pct: ") % QString::number(m_flapsPercentage) % QStringLiteral(" | flaps pct: ") % QString::number(m_flapsPercentage) %
@@ -77,9 +78,26 @@ namespace BlackMisc
} }
} }
parts.setEngines(engines); parts.setEngines(engines);
parts.setPartsDetails(GuessedParts);
return parts; return parts;
} }
const QString &CAircraftParts::partsDetailsToString(CAircraftParts::PartsDetails details)
{
static const QString guessed("guessed");
static const QString notset("not set");
static const QString fsd("FSD parts");
switch (details)
{
case GuessedParts: return guessed;
case FSDAircraftParts: return fsd;
case NotSet: break;
default: break;
}
return notset;
}
CVariant CAircraftParts::propertyByIndex(const BlackMisc::CPropertyIndex &index) const CVariant CAircraftParts::propertyByIndex(const BlackMisc::CPropertyIndex &index) const
{ {
if (index.isMyself()) { return CVariant::from(*this); } if (index.isMyself()) { return CVariant::from(*this); }

View File

@@ -48,6 +48,14 @@ namespace BlackMisc
IndexOnGround IndexOnGround
}; };
//! Parts Details
enum PartsDetails
{
NotSet,
FSDAircraftParts,
GuessedParts
};
//! Default constructor //! Default constructor
CAircraftParts() {} CAircraftParts() {}
@@ -130,6 +138,15 @@ namespace BlackMisc
//! Set aircraft on ground //! Set aircraft on ground
void setOnGround(bool onGround) { m_isOnGround = onGround; } void setOnGround(bool onGround) { m_isOnGround = onGround; }
//! Get parts details
PartsDetails getPartsDetails() const { return static_cast<PartsDetails>(m_partsDetails); }
//! Parts details as string
const QString &getPartsDetailsAsString() const { return partsDetailsToString(this->getPartsDetails()); }
//! Set parts details
void setPartsDetails(PartsDetails details) { m_partsDetails = static_cast<int>(details); }
//! Guess the parts //! Guess the parts
void guessParts(const CAircraftSituation &situation); void guessParts(const CAircraftSituation &situation);
@@ -142,9 +159,13 @@ namespace BlackMisc
//! Guessed parts //! Guessed parts
static CAircraftParts guessedParts(const CAircraftSituation &situation, bool vtol = false, int engineNumber = 4); static CAircraftParts guessedParts(const CAircraftSituation &situation, bool vtol = false, int engineNumber = 4);
//! Convert to QString
static const QString &partsDetailsToString(PartsDetails details);
private: private:
CAircraftLights m_lights; CAircraftLights m_lights;
CAircraftEngineList m_engines; CAircraftEngineList m_engines;
int m_partsDetails = static_cast<int>(NotSet);
int m_flapsPercentage = 0; int m_flapsPercentage = 0;
bool m_gearDown = false; bool m_gearDown = false;
bool m_spoilersOut = false; bool m_spoilersOut = false;
@@ -158,6 +179,7 @@ namespace BlackMisc
BLACK_METAMEMBER_NAMED(spoilersOut, "spoilers_out"), BLACK_METAMEMBER_NAMED(spoilersOut, "spoilers_out"),
BLACK_METAMEMBER_NAMED(engines, "engines"), BLACK_METAMEMBER_NAMED(engines, "engines"),
BLACK_METAMEMBER_NAMED(isOnGround, "on_ground"), BLACK_METAMEMBER_NAMED(isOnGround, "on_ground"),
BLACK_METAMEMBER(partsDetails, 0, DisabledForJson | DisabledForComparison),
BLACK_METAMEMBER(timestampMSecsSinceEpoch, 0, DisabledForJson | DisabledForComparison), BLACK_METAMEMBER(timestampMSecsSinceEpoch, 0, DisabledForJson | DisabledForComparison),
BLACK_METAMEMBER(timeOffsetMs, 0, DisabledForJson | DisabledForComparison) BLACK_METAMEMBER(timeOffsetMs, 0, DisabledForJson | DisabledForComparison)
); );

View File

@@ -257,9 +257,10 @@ namespace BlackMisc
CLogMessage::preformatted(message); CLogMessage::preformatted(message);
} }
// make sure in any case right time // make sure in any case right time and correct details
parts.setCurrentUtcTime(); parts.setCurrentUtcTime();
parts.setTimeOffsetMs(currentOffset); parts.setTimeOffsetMs(currentOffset);
parts.setPartsDetails(CAircraftParts::FSDAircraftParts);
// store part history (parts always absolute) // store part history (parts always absolute)
this->storeAircraftParts(callsign, parts, false); this->storeAircraftParts(callsign, parts, false);