From 763330fd3c259b7a877eb05944783e92c0afcb80 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Tue, 1 May 2018 19:35:28 +0300 Subject: Add member list --- include/dialogs/MemberList.hpp | 57 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 include/dialogs/MemberList.hpp (limited to 'include/dialogs') diff --git a/include/dialogs/MemberList.hpp b/include/dialogs/MemberList.hpp new file mode 100644 index 00000000..09a56aab --- /dev/null +++ b/include/dialogs/MemberList.hpp @@ -0,0 +1,57 @@ +#pragma once + +#include +#include + +class Avatar; +class Cache; +class FlatButton; +class QHBoxLayout; +class QLabel; +class QVBoxLayout; + +struct RoomMember; + +template +class QSharedPointer; + +namespace dialogs { + +class MemberItem : public QWidget +{ + Q_OBJECT + +public: + MemberItem(const RoomMember &member, QWidget *parent); + +private: + QHBoxLayout *topLayout_; + QVBoxLayout *textLayout_; + + Avatar *avatar_; + + QLabel *userName_; + QLabel *userId_; +}; + +class MemberList : public QFrame +{ + Q_OBJECT +public: + MemberList(const QString &room_id, QSharedPointer cache, QWidget *parent = nullptr); + +public slots: + void addUsers(const std::vector &users); + +protected: + void paintEvent(QPaintEvent *event) override; + void moveButtonToBottom(); + +private: + QString room_id_; + QLabel *topLabel_; + QListWidget *list_; + QSharedPointer cache_; + FlatButton *moreBtn_; +}; +} // dialogs -- cgit 1.5.1