Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
trinity/include/roomlistmodel.h

46 lines
899 B
C
Raw Normal View History

2021-07-21 16:08:15 -04:00
#pragma once
#include <QAbstractListModel>
class Room;
2022-08-15 21:53:56 -04:00
class RoomListModel : public QAbstractListModel {
2021-07-21 16:08:15 -04:00
Q_OBJECT
public:
enum EventRoles {
AliasRole = Qt::UserRole + 1,
AvatarRole,
JoinStateRole,
TopicRole,
IdRole,
HighlightCountRole,
NotificationCountRole,
DirectRole,
SectionRole
};
RoomListModel(QList<Room*>& rooms);
2022-08-15 21:53:56 -04:00
int rowCount(const QModelIndex& parent) const override;
2021-07-21 16:08:15 -04:00
2022-08-15 21:53:56 -04:00
QVariant data(const QModelIndex& index, int role) const override;
2021-07-21 16:08:15 -04:00
void beginInsertRoom() {
beginInsertRows(QModelIndex(), rooms.size(), rooms.size());
}
void endInsertRoom() {
endInsertRows();
}
void fullUpdate() {
emit layoutChanged();
}
void updateRoom(Room* room);
protected:
QList<Room*>& rooms;
QHash<int, QByteArray> roleNames() const override;
};