@@ -956,34 +956,45 @@ int UserModel::rowCount(const QModelIndex &parent) const
956
956
957
957
QVariant UserModel::data (const QModelIndex &index, int role) const
958
958
{
959
- if (index .row () < 0 || index .row () >= _users.count ()) {
960
- return QVariant ();
959
+ auto result = QVariant{};
960
+ switch (role)
961
+ {
962
+ case NameRole:
963
+ result = _users[index .row ()]->name ();
964
+ break ;
965
+ case ServerRole:
966
+ result = _users[index .row ()]->server ();
967
+ break ;
968
+ case ServerHasUserStatusRole:
969
+ result = _users[index .row ()]->serverHasUserStatus ();
970
+ break ;
971
+ case StatusIconRole:
972
+ result = _users[index .row ()]->statusIcon ();
973
+ break ;
974
+ case StatusEmojiRole:
975
+ result = _users[index .row ()]->statusEmoji ();
976
+ break ;
977
+ case StatusMessageRole:
978
+ result = _users[index .row ()]->statusMessage ();
979
+ break ;
980
+ case DesktopNotificationsAllowedRole:
981
+ result = _users[index .row ()]->isDesktopNotificationsAllowed ();
982
+ break ;
983
+ case AvatarRole:
984
+ result = _users[index .row ()]->avatarUrl ();
985
+ break ;
986
+ case IsCurrentUserRole:
987
+ result = _users[index .row ()]->isCurrentUser ();
988
+ break ;
989
+ case IsConnectedRole:
990
+ result = _users[index .row ()]->isConnected ();
991
+ break ;
992
+ case IdRole:
993
+ result = index .row ();
994
+ break ;
961
995
}
962
996
963
- if (role == NameRole) {
964
- return _users[index .row ()]->name ();
965
- } else if (role == ServerRole) {
966
- return _users[index .row ()]->server ();
967
- } else if (role == ServerHasUserStatusRole) {
968
- return _users[index .row ()]->serverHasUserStatus ();
969
- } else if (role == StatusIconRole) {
970
- return _users[index .row ()]->statusIcon ();
971
- } else if (role == StatusEmojiRole) {
972
- return _users[index .row ()]->statusEmoji ();
973
- } else if (role == StatusMessageRole) {
974
- return _users[index .row ()]->statusMessage ();
975
- } else if (role == DesktopNotificationsAllowedRole) {
976
- return _users[index .row ()]->isDesktopNotificationsAllowed ();
977
- } else if (role == AvatarRole) {
978
- return _users[index .row ()]->avatarUrl ();
979
- } else if (role == IsCurrentUserRole) {
980
- return _users[index .row ()]->isCurrentUser ();
981
- } else if (role == IsConnectedRole) {
982
- return _users[index .row ()]->isConnected ();
983
- } else if (role == IdRole) {
984
- return index .row ();
985
- }
986
- return QVariant ();
997
+ return result;
987
998
}
988
999
989
1000
QHash<int , QByteArray> UserModel::roleNames () const
0 commit comments