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::standardValueObject("callsign", CClient::IndexCallsign));
|
||||
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("model", {CClient::IndexModel, CAircraftModel::IndexModelString}));
|
||||
this->m_columns.addColumn(CColumn("q.?", "queried", {CClient::IndexModel, CAircraftModel::IndexHasQueriedModelString},
|
||||
this->m_columns.addColumn(CColumn::standardString("model", CClient::IndexModelString));
|
||||
this->m_columns.addColumn(CColumn("q.?", "queried", {CClient::IndexModelString, CAircraftModel::IndexHasQueriedModelString},
|
||||
new CBoolIconFormatter("queried", "not queried")));
|
||||
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", "realname");
|
||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "userid");
|
||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "model");
|
||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "modelstring");
|
||||
(void)QT_TRANSLATE_NOOP("ViewClientList", "server");
|
||||
}
|
||||
|
||||
QVariant CClientListModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
static const CPropertyIndex ms( {CClient::IndexModel, CAircraftModel::IndexModelString});
|
||||
static const CPropertyIndex qf( {CClient::IndexModel, CAircraftModel::IndexHasQueriedModelString});
|
||||
static const CPropertyIndex ms({CClient::IndexModelString, CAircraftModel::IndexModelString});
|
||||
static const CPropertyIndex qf({CClient::IndexModelString, CAircraftModel::IndexHasQueriedModelString});
|
||||
if (role != Qt::DisplayRole && role != Qt::DecorationRole) { return CListModelBase::data(index, role); }
|
||||
CPropertyIndex pi = modelIndexToPropertyIndex(index);
|
||||
if (pi == ms && role == Qt::DisplayRole)
|
||||
|
||||
@@ -27,14 +27,19 @@ namespace BlackMisc
|
||||
{
|
||||
QString s = this->m_user.toQString(i18n);
|
||||
s.append(" capabilites: ").append(this->getCapabilitiesAsString());
|
||||
s.append(" model: ").append(this->m_model.toQString(i18n));
|
||||
if (!this->m_server.isEmpty())
|
||||
{
|
||||
s.append(" server:").append(this->m_server);
|
||||
}
|
||||
s.append(" model: ").append(this->m_modelString);
|
||||
if (!this->m_server.isEmpty()) { s.append(" server:").append(this->m_server); }
|
||||
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)
|
||||
{
|
||||
this->m_capabilities.addValue(static_cast<int>(capability), hasCapability);
|
||||
@@ -87,8 +92,8 @@ namespace BlackMisc
|
||||
return this->getCallsign().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexUser:
|
||||
return this->getUser().propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexModel:
|
||||
return this->m_model.propertyByIndex(index.copyFrontRemoved());
|
||||
case IndexModelString:
|
||||
return CVariant(this->m_modelString);
|
||||
case IndexServer:
|
||||
return CVariant(this->m_server);
|
||||
case IndexVoiceCapabilities:
|
||||
@@ -113,8 +118,8 @@ namespace BlackMisc
|
||||
case IndexCapabilities:
|
||||
this->m_capabilities = variant.value<CPropertyIndexVariantMap>();
|
||||
break;
|
||||
case IndexModel:
|
||||
this->m_model.setPropertyByIndex(index.copyFrontRemoved(), variant);;
|
||||
case IndexModelString:
|
||||
this->m_modelString = variant.toQString();
|
||||
break;
|
||||
case IndexServer:
|
||||
this->m_server = variant.toQString();
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace BlackMisc
|
||||
{
|
||||
IndexCapabilities = BlackMisc::CPropertyIndex::GlobalIndexCClient,
|
||||
IndexCapabilitiesString,
|
||||
IndexModel,
|
||||
IndexModelString,
|
||||
IndexServer,
|
||||
IndexUser,
|
||||
IndexCallsign,
|
||||
@@ -62,8 +62,8 @@ namespace BlackMisc
|
||||
//! Default constructor.
|
||||
CClient() = default;
|
||||
|
||||
//! Construct by callsign
|
||||
CClient(const BlackMisc::Aviation::CCallsign &callsign) : m_user(CUser(callsign)) {}
|
||||
//! Construct by callsign and optional model string
|
||||
CClient(const BlackMisc::Aviation::CCallsign &callsign, const QString &modelString = {});
|
||||
|
||||
//! Constructor.
|
||||
CClient(const CUser &user) : m_user(user) {}
|
||||
@@ -74,6 +74,9 @@ namespace BlackMisc
|
||||
//! ATC client
|
||||
bool isAtc() const { return getCallsign().isAtcAlikeCallsign(); }
|
||||
|
||||
//! Is valid
|
||||
bool isValid() const;
|
||||
|
||||
//! Get capabilities
|
||||
CPropertyIndexVariantMap getCapabilities() const { return this->m_capabilities; }
|
||||
|
||||
@@ -117,13 +120,13 @@ namespace BlackMisc
|
||||
void setServer(const QString &server) { this->m_server = server;}
|
||||
|
||||
//! Model
|
||||
const BlackMisc::Simulation::CAircraftModel &getAircraftModel() const { return this->m_model; }
|
||||
const QString &getQueriedModelString() const { return this->m_modelString; }
|
||||
|
||||
//! \copydoc Simulation::CAircraftModel::hasQueriedModelString
|
||||
bool hasQueriedModelString() const { return this->m_model.hasQueriedModelString(); }
|
||||
bool hasQueriedModelString() const { return !this->m_modelString.isEmpty(); }
|
||||
|
||||
//! 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()
|
||||
CIcon toIcon() const { return this->m_user.toIcon(); }
|
||||
@@ -139,15 +142,15 @@ namespace BlackMisc
|
||||
|
||||
private:
|
||||
BlackMisc::Network::CUser m_user;
|
||||
BlackMisc::Simulation::CAircraftModel m_model;
|
||||
BlackMisc::CPropertyIndexVariantMap m_capabilities;
|
||||
QString m_modelString;
|
||||
QString m_server;
|
||||
BlackMisc::Network::CVoiceCapabilities m_voiceCapabilities;
|
||||
|
||||
BLACK_METACLASS(
|
||||
CClient,
|
||||
BLACK_METAMEMBER(user),
|
||||
BLACK_METAMEMBER(model),
|
||||
BLACK_METAMEMBER(modelString),
|
||||
BLACK_METAMEMBER(capabilities, 0, DisabledForComparison | DisabledForJson),
|
||||
BLACK_METAMEMBER(server),
|
||||
BLACK_METAMEMBER(voiceCapabilities)
|
||||
|
||||
Reference in New Issue
Block a user