mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
Added updates by VATSIM data file for voice capabilities
This commit is contained in:
@@ -103,6 +103,9 @@ namespace BlackMisc
|
||||
//! Get voice capabilities
|
||||
const CVoiceCapabilities &getVoiceCapabilities() const { return m_voiceCapabilities;}
|
||||
|
||||
//! Has known voice capabilities?
|
||||
bool hasSpecifiedVoiceCapabilities() const { return !m_voiceCapabilities.isUnknown();}
|
||||
|
||||
//! Set voice capabilities
|
||||
void setVoiceCapabilities(const CVoiceCapabilities &voiceCapabilities) { m_voiceCapabilities = voiceCapabilities;}
|
||||
|
||||
|
||||
@@ -76,6 +76,20 @@ namespace BlackMisc
|
||||
this->setCapabilities(Voice);
|
||||
return;
|
||||
}
|
||||
|
||||
if (r.contains("/t/"))
|
||||
{
|
||||
this->setCapabilities(TextOnly);
|
||||
return;
|
||||
}
|
||||
|
||||
if (r.contains("/r/"))
|
||||
{
|
||||
this->setCapabilities(VoiceReceivingOnly);
|
||||
return;
|
||||
}
|
||||
|
||||
this->setCapabilities(Unknown);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -191,6 +205,39 @@ namespace BlackMisc
|
||||
return TupleConverter<CVoiceCapabilities>::jsonMembers();
|
||||
}
|
||||
|
||||
/*
|
||||
* From enum
|
||||
*/
|
||||
const CVoiceCapabilities &CVoiceCapabilities::fromVoiceCapabilities(CVoiceCapabilities::VoiceCapabilities capabilities)
|
||||
{
|
||||
static const CVoiceCapabilities u(CVoiceCapabilities::Unknown);
|
||||
static const CVoiceCapabilities to(CVoiceCapabilities::TextOnly);
|
||||
static const CVoiceCapabilities v(CVoiceCapabilities::Voice);
|
||||
static const CVoiceCapabilities vro(CVoiceCapabilities::VoiceReceivingOnly);
|
||||
|
||||
switch (capabilities)
|
||||
{
|
||||
case CVoiceCapabilities::TextOnly:
|
||||
return to;
|
||||
case CVoiceCapabilities::Voice:
|
||||
return v;
|
||||
case CVoiceCapabilities::VoiceReceivingOnly:
|
||||
return vro;
|
||||
case CVoiceCapabilities::Unknown:
|
||||
default:
|
||||
return u;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* All
|
||||
*/
|
||||
const QList<CVoiceCapabilities> &CVoiceCapabilities::allCapabilities()
|
||||
{
|
||||
static const QList<CVoiceCapabilities> all({fromVoiceCapabilities(Unknown), fromVoiceCapabilities(Voice), fromVoiceCapabilities(VoiceReceivingOnly), fromVoiceCapabilities(TextOnly)});
|
||||
return all;
|
||||
}
|
||||
|
||||
/*
|
||||
* Register metadata
|
||||
*/
|
||||
|
||||
@@ -51,6 +51,9 @@ namespace BlackMisc
|
||||
//! Set capabilites
|
||||
void setCapabilities(VoiceCapabilities capabilites) { m_voiceCapabilities = static_cast<int>(capabilites); }
|
||||
|
||||
//! Is capability known
|
||||
bool isUnknown() const { return m_voiceCapabilities == Unknown; }
|
||||
|
||||
//! \copydoc CValueObject::toIcon()
|
||||
virtual CIcon toIcon() const override;
|
||||
|
||||
@@ -81,6 +84,18 @@ namespace BlackMisc
|
||||
//! Members
|
||||
static const QStringList &jsonMembers();
|
||||
|
||||
//! From enum
|
||||
static const CVoiceCapabilities &fromVoiceCapabilities(VoiceCapabilities capabilities);
|
||||
|
||||
//! From flight plan remarks
|
||||
static CVoiceCapabilities fromFlightPlanRemarks(const QString &remarks)
|
||||
{
|
||||
return CVoiceCapabilities(remarks);
|
||||
}
|
||||
|
||||
//! All capabilities as list
|
||||
static const QList<CVoiceCapabilities> &allCapabilities();
|
||||
|
||||
protected:
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
virtual QString convertToQString(bool i18n = false) const override;
|
||||
@@ -105,7 +120,7 @@ namespace BlackMisc
|
||||
int m_voiceCapabilities = Unknown;
|
||||
|
||||
//! Capabilites from flight plans remarks such as "/V/"
|
||||
void fromFlightPlanRemarks(const QString &flightPlanRemarks);
|
||||
void setFromFlightPlanRemarks(const QString &flightPlanRemarks);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user