summary refs log tree commit diff
path: root/src/RoomList.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-11 17:45:47 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-11 17:45:47 +0300
commit6468faa39eda494d83310bec4a557d29bf037f8a (patch)
treec4a2632730c99500871fbc3a8f5d746585507089 /src/RoomList.cc
parentMake the timer single shot (diff)
downloadnheko-6468faa39eda494d83310bec4a557d29bf037f8a.tar.xz
Use only a MatrixClient as a shared pointer
Diffstat (limited to 'src/RoomList.cc')
-rw-r--r--src/RoomList.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/RoomList.cc b/src/RoomList.cc

index 7800b34d..379b5223 100644 --- a/src/RoomList.cc +++ b/src/RoomList.cc
@@ -26,12 +26,18 @@ #include "RoomList.h" #include "Sync.h" -RoomList::RoomList(QWidget *parent) +RoomList::RoomList(QSharedPointer<MatrixClient> client, QWidget *parent) : QWidget(parent) , ui(new Ui::RoomList) + , client_(client) { ui->setupUi(this); ui->scrollVerticalLayout->addStretch(1); + + connect(client_.data(), + SIGNAL(roomAvatarRetrieved(const QString &, const QPixmap &)), + this, + SLOT(updateRoomAvatar(const QString &, const QPixmap &))); } RoomList::~RoomList() @@ -85,7 +91,7 @@ void RoomList::setInitialRooms(const Rooms &rooms) continue; if (!info.avatarUrl().isEmpty()) - emit fetchRoomAvatar(info.id(), info.avatarUrl()); + client_->fetchRoomAvatar(info.id(), info.avatarUrl()); RoomInfoListItem *room_item = new RoomInfoListItem(info, ui->scrollArea); connect(room_item, @@ -115,7 +121,7 @@ void RoomList::highlightSelectedRoom(const RoomInfo &info) } } -void RoomList::updateRoomAvatar(const QString &roomid, const QImage &avatar_image) +void RoomList::updateRoomAvatar(const QString &roomid, const QPixmap &img) { if (!rooms_.contains(roomid)) { qDebug() << "Avatar update on non existent room" << roomid; @@ -123,5 +129,5 @@ void RoomList::updateRoomAvatar(const QString &roomid, const QImage &avatar_imag } auto list_item = rooms_.value(roomid); - list_item->setAvatar(avatar_image); + list_item->setAvatar(img.toImage()); }