diff --git a/include/dialogs/MemberList.hpp b/include/dialogs/MemberList.hpp index 09a56aab..bdc11486 100644 --- a/include/dialogs/MemberList.hpp +++ b/include/dialogs/MemberList.hpp @@ -45,9 +45,15 @@ public slots: protected: void paintEvent(QPaintEvent *event) override; - void moveButtonToBottom(); + void hideEvent(QHideEvent *event) override + { + list_->clear(); + QFrame::hideEvent(event); + } private: + void moveButtonToBottom(); + QString room_id_; QLabel *topLabel_; QListWidget *list_; diff --git a/include/dialogs/ReadReceipts.h b/include/dialogs/ReadReceipts.h index bd4e4fc5..5e5615df 100644 --- a/include/dialogs/ReadReceipts.h +++ b/include/dialogs/ReadReceipts.h @@ -44,6 +44,11 @@ public slots: protected: void paintEvent(QPaintEvent *event) override; + void hideEvent(QHideEvent *event) override + { + userList_->clear(); + QFrame::hideEvent(event); + } private: QLabel *topLabel_; diff --git a/src/dialogs/MemberList.cpp b/src/dialogs/MemberList.cpp index 26f526dd..2d435026 100644 --- a/src/dialogs/MemberList.cpp +++ b/src/dialogs/MemberList.cpp @@ -3,6 +3,8 @@ #include #include +#include "AvatarProvider.h" +#include "ChatPage.h" #include "Config.h" #include "FlatButton.h" #include "Utils.h" @@ -29,6 +31,11 @@ MemberItem::MemberItem(const RoomMember &member, QWidget *parent) if (!member.avatar.isNull()) avatar_->setImage(member.avatar); + else + AvatarProvider::resolve(ChatPage::instance()->currentRoom(), + member.user_id, + this, + [this](const QImage &img) { avatar_->setImage(img); }); QFont nameFont, idFont; nameFont.setWeight(65);