diff --git a/src/UsersModel.cpp b/src/UsersModel.cpp
index c63292bb..f102cff1 100644
--- a/src/UsersModel.cpp
+++ b/src/UsersModel.cpp
@@ -3,12 +3,23 @@
#include "Cache.h"
#include "CompletionModelRoles.h"
-#include <QPixmap>
-
UsersModel::UsersModel(const std::string &roomId, QObject *parent)
: QAbstractListModel(parent)
+ , room_id(roomId)
+{
+ roomMembers_ = cache::roomMembers(roomId);
+}
+
+QHash<int, QByteArray>
+UsersModel::roleNames() const
{
- roomMembers_ = cache::getMembers(roomId, 0, 9999);
+ return {
+ {CompletionModel::CompletionRole, "completionRole"},
+ {CompletionModel::SearchRole, "searchRole"},
+ {CompletionModel::SearchRole2, "searchRole2"},
+ {Roles::DisplayName, "displayName"},
+ {Roles::AvatarUrl, "avatarUrl"},
+ };
}
QVariant
@@ -19,9 +30,14 @@ UsersModel::data(const QModelIndex &index, int role) const
case CompletionModel::CompletionRole:
case CompletionModel::SearchRole:
case Qt::DisplayRole:
- return roomMembers_[index.row()].display_name;
- case Avatar:
- return roomMembers_[index.row()].avatar;
+ case Roles::DisplayName:
+ return QString::fromStdString(
+ cache::displayName(room_id, roomMembers_[index.row()]));
+ case CompletionModel::SearchRole2:
+ return QString::fromStdString(roomMembers_[index.row()]);
+ case Roles::AvatarUrl:
+ return cache::avatarUrl(QString::fromStdString(room_id),
+ QString::fromStdString(roomMembers_[index.row()]));
}
}
return {};
|