add per-room user model

This commit is contained in:
Jussi Kuokkanen 2020-09-07 12:51:28 +03:00 committed by Nicolas Werner
parent 07259b9cb7
commit a3c4fece7e
3 changed files with 53 additions and 0 deletions

28
src/UsersModel.cpp Normal file
View file

@ -0,0 +1,28 @@
#include "UsersModel.h"
#include "Cache.h"
#include "CompletionModelRoles.h"
#include <QPixmap>
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 {};
}