Skip to content
Snippets Groups Projects
Commit a3c4fece authored by Jussi Kuokkanen's avatar Jussi Kuokkanen Committed by Nicolas Werner
Browse files

add per-room user model

parent 07259b9c
No related branches found
No related tags found
No related merge requests found
......@@ -303,6 +303,7 @@ set(SRC_FILES
src/TrayIcon.cpp
src/UserInfoWidget.cpp
src/UserSettingsPage.cpp
src/UsersModel.cpp
src/Utils.cpp
src/WebRTCSession.cpp
src/WelcomePage.cpp
......
#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 {};
}
#pragma once
#include <QAbstractListModel>
class RoomMember;
class UsersModel : public QAbstractListModel
{
public:
enum Roles
{
Avatar = Qt::UserRole // QImage avatar
};
UsersModel(const std::string &roomId, QObject *parent = nullptr);
int rowCount(const QModelIndex &parent = QModelIndex()) const override
{
return (parent == QModelIndex()) ? roomMembers_.size() : 0;
}
QVariant data(const QModelIndex &index, int role) const override;
private:
std::vector<RoomMember> roomMembers_;
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment