mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 20:40:29 +08:00
Ref T129, formatting and optimized CVoiceCapabilities
This commit is contained in:
committed by
Mathew Sutcliffe
parent
3c9d454638
commit
7b212c65bb
@@ -30,60 +30,35 @@ namespace BlackMisc
|
|||||||
QString CVoiceCapabilities::convertToQString(bool i18n) const
|
QString CVoiceCapabilities::convertToQString(bool i18n) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(i18n);
|
Q_UNUSED(i18n);
|
||||||
|
static const QString v("voice");
|
||||||
|
static const QString t("text only");
|
||||||
|
static const QString r("voice listening only");
|
||||||
|
static const QString u("unknown");
|
||||||
|
|
||||||
switch (this->m_voiceCapabilities)
|
switch (this->m_voiceCapabilities)
|
||||||
{
|
{
|
||||||
case Voice:
|
case Voice: return v;
|
||||||
{
|
case TextOnly: return t;
|
||||||
static const QString v("voice");
|
case VoiceReceivingOnly: return r;
|
||||||
return v;
|
case Unknown: return u;
|
||||||
}
|
default: break;
|
||||||
case TextOnly:
|
|
||||||
{
|
|
||||||
static const QString t("text only");
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
case VoiceReceivingOnly:
|
|
||||||
{
|
|
||||||
static const QString r("voice listening only");
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
case Unknown:
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
static const QString u("unknown");
|
|
||||||
return u;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Q_ASSERT_X(false, Q_FUNC_INFO, "Illegal mode");
|
||||||
|
return u;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoiceCapabilities::setFromFlightPlanRemarks(const QString &flightPlanRemarks)
|
void CVoiceCapabilities::setFromFlightPlanRemarks(const QString &flightPlanRemarks)
|
||||||
{
|
{
|
||||||
// http://www.vatpac.org/cms/index.php?option=com_content&view=article&id=608&Itemid=213
|
// http://www.vatpac.org/cms/index.php?option=com_content&view=article&id=608&Itemid=213
|
||||||
if (flightPlanRemarks.isEmpty())
|
|
||||||
{
|
|
||||||
this->setCapabilities(Unknown);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const QString r = flightPlanRemarks.toUpper(); // normally already upper case
|
|
||||||
if (r.contains("/V/") || r.contains("/VOICE/"))
|
|
||||||
{
|
|
||||||
this->setCapabilities(Voice);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r.contains("/T/"))
|
|
||||||
{
|
|
||||||
this->setCapabilities(TextOnly);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r.contains("/R/"))
|
|
||||||
{
|
|
||||||
this->setCapabilities(VoiceReceivingOnly);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// this function is very frequently called, so I put the most likely scenarios on top
|
||||||
|
const QString r = flightPlanRemarks.toUpper().trimmed();
|
||||||
|
if (flightPlanRemarks.isEmpty()) { this->setCapabilities(Unknown); return; }
|
||||||
|
if (r.contains("/V/")) { this->setCapabilities(Voice); return; }
|
||||||
|
if (r.contains("/T/")) { this->setCapabilities(TextOnly); return; }
|
||||||
|
if (r.contains("/R/")) { this->setCapabilities(VoiceReceivingOnly); return; }
|
||||||
|
if (r.contains("/VOICE/")) { this->setCapabilities(Voice); return; }
|
||||||
|
if (r.contains("/TEXT/")) { this->setCapabilities(TextOnly); return; }
|
||||||
this->setCapabilities(Unknown);
|
this->setCapabilities(Unknown);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,18 +66,13 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
switch (this->m_voiceCapabilities)
|
switch (this->m_voiceCapabilities)
|
||||||
{
|
{
|
||||||
case Voice:
|
case Voice: return CIcon::iconByIndex(CIcons::NetworkCapabilityVoiceBackground);
|
||||||
return CIcon::iconByIndex(CIcons::NetworkCapabilityVoiceBackground);
|
case TextOnly: return CIcon::iconByIndex(CIcons::NetworkCapabilityTextOnly);
|
||||||
case TextOnly:
|
case VoiceReceivingOnly: return CIcon::iconByIndex(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground);
|
||||||
return CIcon::iconByIndex(CIcons::NetworkCapabilityTextOnly);
|
case Unknown: return CIcon::iconByIndex(CIcons::NetworkCapabilityUnknown);
|
||||||
case Unknown:
|
default: break;
|
||||||
return CIcon::iconByIndex(CIcons::NetworkCapabilityUnknown);
|
|
||||||
case VoiceReceivingOnly:
|
|
||||||
return CIcon::iconByIndex(CIcons::NetworkCapabilityVoiceReceiveOnlyBackground);
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
Q_ASSERT(false);
|
Q_ASSERT_X(false, Q_FUNC_INFO, "Illegal mode");
|
||||||
return CIcon::iconByIndex(CIcons::NetworkCapabilityUnknown); // never reached
|
return CIcon::iconByIndex(CIcons::NetworkCapabilityUnknown); // never reached
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,9 +88,16 @@ namespace BlackMisc
|
|||||||
case CVoiceCapabilities::TextOnly: return to;
|
case CVoiceCapabilities::TextOnly: return to;
|
||||||
case CVoiceCapabilities::Voice: return v;
|
case CVoiceCapabilities::Voice: return v;
|
||||||
case CVoiceCapabilities::VoiceReceivingOnly: return vro;
|
case CVoiceCapabilities::VoiceReceivingOnly: return vro;
|
||||||
case CVoiceCapabilities::Unknown:
|
case CVoiceCapabilities::Unknown: return u;
|
||||||
default: return u;
|
default: break;
|
||||||
}
|
}
|
||||||
|
Q_ASSERT_X(false, Q_FUNC_INFO, "Illegal mode");
|
||||||
|
return u; // normally never reached
|
||||||
|
}
|
||||||
|
|
||||||
|
CVoiceCapabilities CVoiceCapabilities::fromFlightPlanRemarks(const QString &remarks)
|
||||||
|
{
|
||||||
|
return CVoiceCapabilities(remarks);
|
||||||
}
|
}
|
||||||
|
|
||||||
const QList<CVoiceCapabilities> &CVoiceCapabilities::allCapabilities()
|
const QList<CVoiceCapabilities> &CVoiceCapabilities::allCapabilities()
|
||||||
|
|||||||
@@ -50,21 +50,18 @@ namespace BlackMisc
|
|||||||
//! Is capability known
|
//! Is capability known
|
||||||
bool isUnknown() const { return m_voiceCapabilities == Unknown; }
|
bool isUnknown() const { return m_voiceCapabilities == Unknown; }
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Mixin::Icon::toIcon()
|
|
||||||
CIcon toIcon() const;
|
|
||||||
|
|
||||||
//! From enum
|
//! From enum
|
||||||
static const CVoiceCapabilities &fromVoiceCapabilities(VoiceCapabilities capabilities);
|
static const CVoiceCapabilities &fromVoiceCapabilities(VoiceCapabilities capabilities);
|
||||||
|
|
||||||
//! From flight plan remarks
|
//! From flight plan remarks
|
||||||
static CVoiceCapabilities fromFlightPlanRemarks(const QString &remarks)
|
static CVoiceCapabilities fromFlightPlanRemarks(const QString &remarks);
|
||||||
{
|
|
||||||
return CVoiceCapabilities(remarks);
|
|
||||||
}
|
|
||||||
|
|
||||||
//! All capabilities as list
|
//! All capabilities as list
|
||||||
static const QList<CVoiceCapabilities> &allCapabilities();
|
static const QList<CVoiceCapabilities> &allCapabilities();
|
||||||
|
|
||||||
|
//! \copydoc BlackMisc::Mixin::Icon::toIcon()
|
||||||
|
CIcon toIcon() const;
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Mixin::String::toQString
|
//! \copydoc BlackMisc::Mixin::String::toQString
|
||||||
QString convertToQString(bool i18n = false) const;
|
QString convertToQString(bool i18n = false) const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user