mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 14:55:36 +08:00
refs #678, using QString for queried string, not full model anymore
This commit is contained in:
@@ -36,10 +36,10 @@ namespace BlackGui
|
|||||||
this->m_columns.addColumn(CColumn("client", CClient::IndexIcon));
|
this->m_columns.addColumn(CColumn("client", CClient::IndexIcon));
|
||||||
this->m_columns.addColumn(CColumn::standardValueObject("callsign", CClient::IndexCallsign));
|
this->m_columns.addColumn(CColumn::standardValueObject("callsign", CClient::IndexCallsign));
|
||||||
this->m_columns.addColumn(CColumn::standardString("realname", { CClient::IndexUser, CUser::IndexRealName }));
|
this->m_columns.addColumn(CColumn::standardString("realname", { CClient::IndexUser, CUser::IndexRealName }));
|
||||||
this->m_columns.addColumn(CColumn("vo.", "voice capabilities", CClient::IndexVoiceCapabilitiesIcon,new CPixmapFormatter()));
|
this->m_columns.addColumn(CColumn("vo.", "voice capabilities", CClient::IndexVoiceCapabilitiesIcon, new CPixmapFormatter()));
|
||||||
this->m_columns.addColumn(CColumn::standardString("capabilities", CClient::IndexCapabilitiesString));
|
this->m_columns.addColumn(CColumn::standardString("capabilities", CClient::IndexCapabilitiesString));
|
||||||
this->m_columns.addColumn(CColumn::standardString("model", {CClient::IndexModel, CAircraftModel::IndexModelString}));
|
this->m_columns.addColumn(CColumn::standardString("model", CClient::IndexModelString));
|
||||||
this->m_columns.addColumn(CColumn("q.?", "queried", {CClient::IndexModel, CAircraftModel::IndexHasQueriedModelString},
|
this->m_columns.addColumn(CColumn("q.?", "queried", {CClient::IndexModelString, CAircraftModel::IndexHasQueriedModelString},
|
||||||
new CBoolIconFormatter("queried", "not queried")));
|
new CBoolIconFormatter("queried", "not queried")));
|
||||||
this->m_columns.addColumn(CColumn::standardString("server", CClient::IndexServer));
|
this->m_columns.addColumn(CColumn::standardString("server", CClient::IndexServer));
|
||||||
|
|
||||||
@@ -47,14 +47,14 @@ namespace BlackGui
|
|||||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "callsign");
|
(void)QT_TRANSLATE_NOOP("ViewClientList", "callsign");
|
||||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "realname");
|
(void)QT_TRANSLATE_NOOP("ViewClientList", "realname");
|
||||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "userid");
|
(void)QT_TRANSLATE_NOOP("ViewClientList", "userid");
|
||||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "model");
|
(void)QT_TRANSLATE_NOOP("ViewClientList", "modelstring");
|
||||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "server");
|
(void)QT_TRANSLATE_NOOP("ViewClientList", "server");
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CClientListModel::data(const QModelIndex &index, int role) const
|
QVariant CClientListModel::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
static const CPropertyIndex ms( {CClient::IndexModel, CAircraftModel::IndexModelString});
|
static const CPropertyIndex ms({CClient::IndexModelString, CAircraftModel::IndexModelString});
|
||||||
static const CPropertyIndex qf( {CClient::IndexModel, CAircraftModel::IndexHasQueriedModelString});
|
static const CPropertyIndex qf({CClient::IndexModelString, CAircraftModel::IndexHasQueriedModelString});
|
||||||
if (role != Qt::DisplayRole && role != Qt::DecorationRole) { return CListModelBase::data(index, role); }
|
if (role != Qt::DisplayRole && role != Qt::DecorationRole) { return CListModelBase::data(index, role); }
|
||||||
CPropertyIndex pi = modelIndexToPropertyIndex(index);
|
CPropertyIndex pi = modelIndexToPropertyIndex(index);
|
||||||
if (pi == ms && role == Qt::DisplayRole)
|
if (pi == ms && role == Qt::DisplayRole)
|
||||||
|
|||||||
@@ -27,14 +27,19 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
QString s = this->m_user.toQString(i18n);
|
QString s = this->m_user.toQString(i18n);
|
||||||
s.append(" capabilites: ").append(this->getCapabilitiesAsString());
|
s.append(" capabilites: ").append(this->getCapabilitiesAsString());
|
||||||
s.append(" model: ").append(this->m_model.toQString(i18n));
|
s.append(" model: ").append(this->m_modelString);
|
||||||
if (!this->m_server.isEmpty())
|
if (!this->m_server.isEmpty()) { s.append(" server:").append(this->m_server); }
|
||||||
{
|
|
||||||
s.append(" server:").append(this->m_server);
|
|
||||||
}
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CClient::CClient(const Aviation::CCallsign &callsign, const QString &modelString) :
|
||||||
|
m_user(CUser(callsign)), m_modelString(modelString.trimmed()) {}
|
||||||
|
|
||||||
|
bool CClient::isValid() const
|
||||||
|
{
|
||||||
|
return this->m_user.hasValidCallsign();
|
||||||
|
}
|
||||||
|
|
||||||
void CClient::setCapability(bool hasCapability, CClient::Capabilities capability)
|
void CClient::setCapability(bool hasCapability, CClient::Capabilities capability)
|
||||||
{
|
{
|
||||||
this->m_capabilities.addValue(static_cast<int>(capability), hasCapability);
|
this->m_capabilities.addValue(static_cast<int>(capability), hasCapability);
|
||||||
@@ -87,8 +92,8 @@ namespace BlackMisc
|
|||||||
return this->getCallsign().propertyByIndex(index.copyFrontRemoved());
|
return this->getCallsign().propertyByIndex(index.copyFrontRemoved());
|
||||||
case IndexUser:
|
case IndexUser:
|
||||||
return this->getUser().propertyByIndex(index.copyFrontRemoved());
|
return this->getUser().propertyByIndex(index.copyFrontRemoved());
|
||||||
case IndexModel:
|
case IndexModelString:
|
||||||
return this->m_model.propertyByIndex(index.copyFrontRemoved());
|
return CVariant(this->m_modelString);
|
||||||
case IndexServer:
|
case IndexServer:
|
||||||
return CVariant(this->m_server);
|
return CVariant(this->m_server);
|
||||||
case IndexVoiceCapabilities:
|
case IndexVoiceCapabilities:
|
||||||
@@ -113,8 +118,8 @@ namespace BlackMisc
|
|||||||
case IndexCapabilities:
|
case IndexCapabilities:
|
||||||
this->m_capabilities = variant.value<CPropertyIndexVariantMap>();
|
this->m_capabilities = variant.value<CPropertyIndexVariantMap>();
|
||||||
break;
|
break;
|
||||||
case IndexModel:
|
case IndexModelString:
|
||||||
this->m_model.setPropertyByIndex(index.copyFrontRemoved(), variant);;
|
this->m_modelString = variant.toQString();
|
||||||
break;
|
break;
|
||||||
case IndexServer:
|
case IndexServer:
|
||||||
this->m_server = variant.toQString();
|
this->m_server = variant.toQString();
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
IndexCapabilities = BlackMisc::CPropertyIndex::GlobalIndexCClient,
|
IndexCapabilities = BlackMisc::CPropertyIndex::GlobalIndexCClient,
|
||||||
IndexCapabilitiesString,
|
IndexCapabilitiesString,
|
||||||
IndexModel,
|
IndexModelString,
|
||||||
IndexServer,
|
IndexServer,
|
||||||
IndexUser,
|
IndexUser,
|
||||||
IndexCallsign,
|
IndexCallsign,
|
||||||
@@ -62,8 +62,8 @@ namespace BlackMisc
|
|||||||
//! Default constructor.
|
//! Default constructor.
|
||||||
CClient() = default;
|
CClient() = default;
|
||||||
|
|
||||||
//! Construct by callsign
|
//! Construct by callsign and optional model string
|
||||||
CClient(const BlackMisc::Aviation::CCallsign &callsign) : m_user(CUser(callsign)) {}
|
CClient(const BlackMisc::Aviation::CCallsign &callsign, const QString &modelString = {});
|
||||||
|
|
||||||
//! Constructor.
|
//! Constructor.
|
||||||
CClient(const CUser &user) : m_user(user) {}
|
CClient(const CUser &user) : m_user(user) {}
|
||||||
@@ -74,6 +74,9 @@ namespace BlackMisc
|
|||||||
//! ATC client
|
//! ATC client
|
||||||
bool isAtc() const { return getCallsign().isAtcAlikeCallsign(); }
|
bool isAtc() const { return getCallsign().isAtcAlikeCallsign(); }
|
||||||
|
|
||||||
|
//! Is valid
|
||||||
|
bool isValid() const;
|
||||||
|
|
||||||
//! Get capabilities
|
//! Get capabilities
|
||||||
CPropertyIndexVariantMap getCapabilities() const { return this->m_capabilities; }
|
CPropertyIndexVariantMap getCapabilities() const { return this->m_capabilities; }
|
||||||
|
|
||||||
@@ -117,13 +120,13 @@ namespace BlackMisc
|
|||||||
void setServer(const QString &server) { this->m_server = server;}
|
void setServer(const QString &server) { this->m_server = server;}
|
||||||
|
|
||||||
//! Model
|
//! Model
|
||||||
const BlackMisc::Simulation::CAircraftModel &getAircraftModel() const { return this->m_model; }
|
const QString &getQueriedModelString() const { return this->m_modelString; }
|
||||||
|
|
||||||
//! \copydoc Simulation::CAircraftModel::hasQueriedModelString
|
//! \copydoc Simulation::CAircraftModel::hasQueriedModelString
|
||||||
bool hasQueriedModelString() const { return this->m_model.hasQueriedModelString(); }
|
bool hasQueriedModelString() const { return !this->m_modelString.isEmpty(); }
|
||||||
|
|
||||||
//! Set model
|
//! Set model
|
||||||
void setAircraftModel(const BlackMisc::Simulation::CAircraftModel &model) { this->m_model = model; }
|
void setQueriedModelString(const QString &modelString) { this->m_modelString = modelString.trimmed(); }
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Mixin::Icon::toIcon()
|
//! \copydoc BlackMisc::Mixin::Icon::toIcon()
|
||||||
CIcon toIcon() const { return this->m_user.toIcon(); }
|
CIcon toIcon() const { return this->m_user.toIcon(); }
|
||||||
@@ -139,15 +142,15 @@ namespace BlackMisc
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
BlackMisc::Network::CUser m_user;
|
BlackMisc::Network::CUser m_user;
|
||||||
BlackMisc::Simulation::CAircraftModel m_model;
|
|
||||||
BlackMisc::CPropertyIndexVariantMap m_capabilities;
|
BlackMisc::CPropertyIndexVariantMap m_capabilities;
|
||||||
|
QString m_modelString;
|
||||||
QString m_server;
|
QString m_server;
|
||||||
BlackMisc::Network::CVoiceCapabilities m_voiceCapabilities;
|
BlackMisc::Network::CVoiceCapabilities m_voiceCapabilities;
|
||||||
|
|
||||||
BLACK_METACLASS(
|
BLACK_METACLASS(
|
||||||
CClient,
|
CClient,
|
||||||
BLACK_METAMEMBER(user),
|
BLACK_METAMEMBER(user),
|
||||||
BLACK_METAMEMBER(model),
|
BLACK_METAMEMBER(modelString),
|
||||||
BLACK_METAMEMBER(capabilities, 0, DisabledForComparison | DisabledForJson),
|
BLACK_METAMEMBER(capabilities, 0, DisabledForComparison | DisabledForJson),
|
||||||
BLACK_METAMEMBER(server),
|
BLACK_METAMEMBER(server),
|
||||||
BLACK_METAMEMBER(voiceCapabilities)
|
BLACK_METAMEMBER(voiceCapabilities)
|
||||||
|
|||||||
Reference in New Issue
Block a user