From a3c4fece7e012d865ac3343ed2c5a273ac0f238f Mon Sep 17 00:00:00 2001 From: Jussi Kuokkanen Date: Mon, 7 Sep 2020 12:51:28 +0300 Subject: add per-room user model --- src/UsersModel.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/UsersModel.cpp (limited to 'src/UsersModel.cpp') diff --git a/src/UsersModel.cpp b/src/UsersModel.cpp new file mode 100644 index 00000000..c63292bb --- /dev/null +++ b/src/UsersModel.cpp @@ -0,0 +1,28 @@ +#include "UsersModel.h" + +#include "Cache.h" +#include "CompletionModelRoles.h" + +#include + +UsersModel::UsersModel(const std::string &roomId, QObject *parent) + : QAbstractListModel(parent) +{ + roomMembers_ = cache::getMembers(roomId, 0, 9999); +} + +QVariant +UsersModel::data(const QModelIndex &index, int role) const +{ + if (hasIndex(index.row(), index.column(), index.parent())) { + switch (role) { + case CompletionModel::CompletionRole: + case CompletionModel::SearchRole: + case Qt::DisplayRole: + return roomMembers_[index.row()].display_name; + case Avatar: + return roomMembers_[index.row()].avatar; + } + } + return {}; +} -- cgit 1.5.1