16 namespace swift::misc::network
20 this->setFromFlightPlanRemarks(flightPlanRemarks);
25 static const QString v(
"/V/");
26 static const QString t(
"/T/");
27 static const QString r(
"/R/");
28 static const QString u(
"");
30 switch (m_voiceCapabilities)
33 case TextOnly:
return t;
34 case Unknown:
return u;
35 case VoiceReceivingOnly:
return r;
38 Q_ASSERT_X(
false, Q_FUNC_INFO,
"Illegal mode");
45 static const QString v(
"voice");
46 static const QString t(
"text only");
47 static const QString r(
"voice listening only");
48 static const QString u(
"unknown");
50 switch (m_voiceCapabilities)
53 case TextOnly:
return t;
54 case VoiceReceivingOnly:
return r;
55 case Unknown:
return u;
58 Q_ASSERT_X(
false, Q_FUNC_INFO,
"Illegal mode");
62 void CVoiceCapabilities::setFromFlightPlanRemarks(
const QString &flightPlanRemarks)
67 const QString r = flightPlanRemarks.toUpper().trimmed();
68 if (flightPlanRemarks.isEmpty())
73 if (r.contains(
"/V/"))
78 if (r.contains(
"/T/"))
83 if (r.contains(
"/R/"))
88 if (r.contains(
"/VOICE/"))
93 if (r.contains(
"/TEXT/"))
103 switch (m_voiceCapabilities)
105 case Voice:
return CIcons::NetworkCapabilityVoiceBackground;
106 case TextOnly:
return CIcons::NetworkCapabilityTextOnly;
107 case VoiceReceivingOnly:
return CIcons::NetworkCapabilityVoiceReceiveOnlyBackground;
108 case Unknown:
return CIcons::NetworkCapabilityUnknown;
111 Q_ASSERT_X(
false, Q_FUNC_INFO,
"Illegal mode");
112 return CIcons::NetworkCapabilityUnknown;
123 switch (capabilities)
125 case CVoiceCapabilities::TextOnly:
return to;
126 case CVoiceCapabilities::Voice:
return v;
127 case CVoiceCapabilities::VoiceReceivingOnly:
return vro;
128 case CVoiceCapabilities::Unknown:
return u;
131 Q_ASSERT_X(
false, Q_FUNC_INFO,
"Illegal mode");
142 if (text.startsWith(
"/"))
147 if (text.contains(
"TEXT", Qt::CaseInsensitive)) {
return CVoiceCapabilities(TextOnly); }
148 if (text.contains(
"ONLY", Qt::CaseInsensitive)) {
return CVoiceCapabilities(TextOnly); }
149 if (text.contains(
"RECEIVE", Qt::CaseInsensitive)) {
return CVoiceCapabilities(VoiceReceivingOnly); }
150 if (text.contains(
"VOICE", Qt::CaseInsensitive)) {
return CVoiceCapabilities(Voice); }
IconIndex
Index for each icon, allows to send them via DBus, efficiently store them, etc.
Value object encapsulating information for voice capabilities.
static const QList< CVoiceCapabilities > & allCapabilities()
All capabilities as list.
CVoiceCapabilities()=default
Default constructor.
static const CVoiceCapabilities & fromVoiceCapabilities(VoiceCapabilities capabilities)
From enum.
static CVoiceCapabilities fromFlightPlanRemarks(const QString &remarks)
From flight plan remarks.
const QString & toFlightPlanRemarks() const
To flight plan remarks.
CIcons::IconIndex toIcon() const
As icon, not implemented by all classes.
VoiceCapabilities
Voice capabilities.
void setCapabilities(VoiceCapabilities capabilites)
Set capabilites.
static CVoiceCapabilities fromText(const QString &text)
From text like "text only".
QString convertToQString(bool i18n=false) const
Cast as QString.
Free functions in swift::misc.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.