mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 19:35:32 +08:00
Ref T415, vPilot format and improved voice capability parsing
This commit is contained in:
@@ -27,6 +27,25 @@ namespace BlackMisc
|
||||
this->setFromFlightPlanRemarks(flightPlanRemarks);
|
||||
}
|
||||
|
||||
const QString &CVoiceCapabilities::toFlightPlanRemarks() const
|
||||
{
|
||||
static const QString v("/R/");
|
||||
static const QString t("/T/");
|
||||
static const QString r("/R/");
|
||||
static const QString u("");
|
||||
|
||||
switch (m_voiceCapabilities)
|
||||
{
|
||||
case Voice: return v;
|
||||
case TextOnly: return t;
|
||||
case VoiceReceivingOnly: return r;
|
||||
case Unknown: return u;
|
||||
default: break;
|
||||
}
|
||||
Q_ASSERT_X(false, Q_FUNC_INFO, "Illegal mode");
|
||||
return u;
|
||||
}
|
||||
|
||||
QString CVoiceCapabilities::convertToQString(bool i18n) const
|
||||
{
|
||||
Q_UNUSED(i18n);
|
||||
@@ -100,6 +119,16 @@ namespace BlackMisc
|
||||
return CVoiceCapabilities(remarks);
|
||||
}
|
||||
|
||||
CVoiceCapabilities CVoiceCapabilities::fromText(const QString &text)
|
||||
{
|
||||
if (text.startsWith("/")) { return CVoiceCapabilities::fromText(text); }
|
||||
if (text.contains("TEXT", Qt::CaseInsensitive)) { return CVoiceCapabilities(TextOnly); }
|
||||
if (text.contains("ONLY", Qt::CaseInsensitive)) { return CVoiceCapabilities(TextOnly); }
|
||||
if (text.contains("RECEIVE", Qt::CaseInsensitive)) { return CVoiceCapabilities(VoiceReceivingOnly); }
|
||||
if (text.contains("VOICE", Qt::CaseInsensitive)) { return CVoiceCapabilities(Voice); }
|
||||
return CVoiceCapabilities(Unknown);
|
||||
}
|
||||
|
||||
const QList<CVoiceCapabilities> &CVoiceCapabilities::allCapabilities()
|
||||
{
|
||||
static const QList<CVoiceCapabilities> all({fromVoiceCapabilities(Unknown), fromVoiceCapabilities(Voice), fromVoiceCapabilities(VoiceReceivingOnly), fromVoiceCapabilities(TextOnly)});
|
||||
|
||||
@@ -50,12 +50,18 @@ namespace BlackMisc
|
||||
//! Is capability known
|
||||
bool isUnknown() const { return m_voiceCapabilities == Unknown; }
|
||||
|
||||
//! To flight plan remarks
|
||||
const QString &toFlightPlanRemarks() const;
|
||||
|
||||
//! From enum
|
||||
static const CVoiceCapabilities &fromVoiceCapabilities(VoiceCapabilities capabilities);
|
||||
|
||||
//! From flight plan remarks
|
||||
static CVoiceCapabilities fromFlightPlanRemarks(const QString &remarks);
|
||||
|
||||
//! From text like "text only"
|
||||
static CVoiceCapabilities fromText(const QString &text);
|
||||
|
||||
//! All capabilities as list
|
||||
static const QList<CVoiceCapabilities> &allCapabilities();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user