8 #include <QStringBuilder>
18 namespace swift::misc::network
23 QStringLiteral(
" model: ") % m_modelString %
24 (m_server.isEmpty() ? QString() : QStringLiteral(
"server: ") % m_server);
28 : m_user(
CUser(callsign)), m_modelString(modelString.trimmed())
60 if (sl.isEmpty()) {
return {}; }
74 m_modelString = modelString.trimmed();
80 if (!m_swift) {
return m_user.
toIcon(); }
82 return CIcons::Swift16;
87 if (index.
isMyself()) {
return QVariant::fromValue(*
this); }
91 case IndexCapabilities:
return QVariant::fromValue(m_capabilities);
95 case IndexModelString:
return QVariant(m_modelString);
96 case IndexServer:
return QVariant(m_server);
98 case IndexVoiceCapabilitiesPixmap:
return QVariant::fromValue(
CIcon(m_voiceCapabilities.
toIcon()).
toPixmap());
99 case IndexVoiceCapabilitiesIcon:
return QVariant::fromValue(
CIcon(m_voiceCapabilities.
toIcon()));
100 case IndexVoiceCapabilitiesString:
return QVariant(m_voiceCapabilities.
toQString(
true));
110 (*this) = variant.value<
CClient>();
116 case IndexCapabilities: m_capabilities = variant.toInt();
break;
117 case IndexModelString: m_modelString = variant.toString();
break;
118 case IndexServer: m_server = variant.toString();
break;
Value object for icons. An icon is stored in the global icon repository and identified by its index....
QPixmap toPixmap() const
Corresponding pixmap.
IconIndex
Index for each icon, allows to send them via DBus, efficiently store them, etc.
Non-owning reference to a CPropertyIndex with a subset of its features.
Q_REQUIRED_RESULT CPropertyIndexRef copyFrontRemoved() const
Copy with first element removed.
CastType frontCasted() const
First element casted to given type, usually the PropertIndex enum.
bool isMyself() const
Myself index, used with nesting.
Value object encapsulating information of a callsign.
QVariant propertyByIndex(CPropertyIndexRef index) const
Property by index.
ColumnIndex
Base class enums.
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
Set property by index.
QVariant propertyByIndex(CPropertyIndexRef index) const
Property by index.
QString toQString(bool i18n=false) const
Cast as QString.
bool hasCapability(Capability capability) const
Has capability?
bool hasAircraftPartsCapability() const
Supports aircraft parts?
void addCapability(Capability capability)
Add capability.
CClient()=default
Default constructor.
bool hasGndFlagCapability() const
Supports gnd.flag?
Capabilities getCapabilities() const
Get capabilities.
void setQueriedModelString(const QString &modelString)
Set model.
void setCapabilities(const Capabilities &capabilities)
Set capabilities.
void setPropertyByIndex(swift::misc::CPropertyIndexRef index, const QVariant &variant)
Set property by index.
const CUser & getUser() const
User.
bool isValid() const
Is valid.
QVariant propertyByIndex(swift::misc::CPropertyIndexRef index) const
Property by index.
QString convertToQString(bool i18n=false) const
Cast as QString.
bool setUserCallsign(const swift::misc::aviation::CCallsign &callsign)
User's callsign.
void removeCapability(Capability capability)
Remove capability.
Capability
The Capabilities enum.
@ FsdWithVisualPositions
visual position updates
@ FsdWithAircraftConfig
Aircraft parts.
@ FsdWithIcaoCodes
basically means it is a pilot client handling ICAO code packages
@ FsdWithGroundFlag
supports gnd.
@ FsdAtisCanBeReceived
ATIS.
@ FsdModelString
model string can be queried
@ FsdWithInterimPositions
fast position updates
CIcons::IconIndex toIcon() const
As icon, not implemented by all classes.
const aviation::CCallsign & getCallsign() const
Callsign used with other client.
QString getCapabilitiesAsString() const
Get capabilities.
Value object encapsulating information of a user.
QVariant propertyByIndex(CPropertyIndexRef index) const
Property by index.
bool setCallsign(const aviation::CCallsign &callsign)
Set associated callsign.
CIcons::IconIndex toIcon() const
As icon, not implemented by all classes.
void setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
Set property by index.
bool hasCallsign() const
Has associated callsign?
CIcons::IconIndex toIcon() const
As icon, not implemented by all classes.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.