Hide model string for ATC clients

This commit is contained in:
Klaus Basan
2014-12-20 18:13:47 +01:00
parent a03bd4d07f
commit 0b03ac1339
6 changed files with 71 additions and 19 deletions

View File

@@ -43,5 +43,23 @@ namespace BlackGui
(void)QT_TRANSLATE_NOOP("ViewClientList", "model");
(void)QT_TRANSLATE_NOOP("ViewClientList", "server");
}
}
}
QVariant CClientListModel::data(const QModelIndex &index, int role) const
{
static const CPropertyIndex ms( {CClient::IndexModel, CAircraftModel::IndexModelString});
if (role != Qt::DisplayRole) { return CListModelBase::data(index, role); }
CPropertyIndex pi = modelIndexToPropertyIndex(index);
if (pi == ms)
{
// no model string for ATC
CClient client = this->at(index);
bool atc = client.isAtc();
if (atc)
{
return QVariant("ATC");
}
}
return CListModelBase::data(index, role);
}
} // namespace
} // namespace

View File

@@ -20,9 +20,7 @@ namespace BlackGui
{
namespace Models
{
/*!
* Server list model
*/
//! Client list model
class CClientListModel : public CListModelBase<BlackMisc::Network::CClient, BlackMisc::Network::CClientList>
{
@@ -32,7 +30,11 @@ namespace BlackGui
//! Destructor
virtual ~CClientListModel() {}
//! \copydoc QAbstractListModel::data()
virtual QVariant data(const QModelIndex &index, int role) const override;
};
}
}
} // namespace
} // namespace
#endif // guard

View File

@@ -116,9 +116,7 @@ namespace BlackGui
Qt::SortOrder m_sortOrder; //!< sort order (asc/desc)
};
/*!
* List model
*/
//! List model
template <typename ObjectType, typename ContainerType> class CListModelBase :
public CListModelBaseNonTemplate
{