summary refs log tree commit diff
path: root/src/RoomList.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-06-09 16:03:14 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-06-09 16:03:14 +0300
commitb89257a34b2a98b737f4ae544f7e436b9000b240 (patch)
tree81d7f355721541afbd91dc9a085abbb4666f3565 /src/RoomList.cc
parentInstall missing dependencies in travis-ci/appveyor (diff)
downloadnheko-b89257a34b2a98b737f4ae544f7e436b9000b240.tar.xz
Migrate to mtxclient for the http calls
Diffstat (limited to 'src/RoomList.cc')
-rw-r--r--src/RoomList.cc54
1 files changed, 34 insertions, 20 deletions
diff --git a/src/RoomList.cc b/src/RoomList.cc

index e7c5ef30..d3ed2e66 100644 --- a/src/RoomList.cc +++ b/src/RoomList.cc
@@ -16,11 +16,11 @@ */ #include <QBuffer> -#include <QDebug> #include <QObject> #include <QTimer> #include "Cache.h" +#include "Logging.hpp" #include "MainWindow.h" #include "MatrixClient.h" #include "OverlayModal.h" @@ -55,18 +55,7 @@ RoomList::RoomList(QSharedPointer<UserSettings> userSettings, QWidget *parent) scrollArea_->setWidget(scrollAreaContents_); topLayout_->addWidget(scrollArea_); - connect(http::client(), - &MatrixClient::roomAvatarRetrieved, - this, - [this](const QString &room_id, - const QPixmap &img, - const QString &url, - const QByteArray &data) { - if (cache::client()) - cache::client()->saveImage(url, data); - - updateRoomAvatar(room_id, img); - }); + connect(this, &RoomList::updateRoomAvatarCb, this, &RoomList::updateRoomAvatar); } void @@ -101,7 +90,28 @@ RoomList::updateAvatar(const QString &room_id, const QString &url) savedImgData = cache::client()->image(url); if (savedImgData.isEmpty()) { - http::client()->fetchRoomAvatar(room_id, url); + mtx::http::ThumbOpts opts; + opts.mxc_url = url.toStdString(); + http::v2::client()->get_thumbnail( + opts, [room_id, opts, this](const std::string &res, mtx::http::RequestErr err) { + if (err) { + log::net()->warn( + "failed to download thumbnail: {}, {} - {}", + opts.mxc_url, + mtx::errors::to_string(err->matrix_error.errcode), + err->matrix_error.error); + return; + } + + if (cache::client()) + cache::client()->saveImage(opts.mxc_url, res); + + auto data = QByteArray(res.data(), res.size()); + QPixmap pixmap; + pixmap.loadFromData(data); + + emit updateRoomAvatarCb(room_id, pixmap); + }); } else { QPixmap img; img.loadFromData(savedImgData); @@ -131,7 +141,8 @@ void RoomList::updateUnreadMessageCount(const QString &roomid, int count) { if (!roomExists(roomid)) { - qWarning() << "UpdateUnreadMessageCount: Unknown roomid"; + log::main()->warn("updateUnreadMessageCount: unknown room_id {}", + roomid.toStdString()); return; } @@ -156,7 +167,7 @@ RoomList::calculateUnreadMessageCount() void RoomList::initialize(const QMap<QString, RoomInfo> &info) { - qDebug() << "initialize room list"; + log::main()->info("initialize room list"); rooms_.clear(); @@ -209,7 +220,7 @@ RoomList::highlightSelectedRoom(const QString &room_id) emit roomChanged(room_id); if (!roomExists(room_id)) { - qDebug() << "RoomList: clicked unknown roomid"; + log::main()->warn("roomlist: clicked unknown room_id"); return; } @@ -232,7 +243,8 @@ void RoomList::updateRoomAvatar(const QString &roomid, const QPixmap &img) { if (!roomExists(roomid)) { - qWarning() << "Avatar update on non existent room" << roomid; + log::main()->warn("avatar update on non-existent room_id: {}", + roomid.toStdString()); return; } @@ -246,7 +258,9 @@ void RoomList::updateRoomDescription(const QString &roomid, const DescInfo &info) { if (!roomExists(roomid)) { - qWarning() << "Description update on non existent room" << roomid << info.body; + log::main()->warn("description update on non-existent room_id: {}, {}", + roomid.toStdString(), + info.body.toStdString()); return; } @@ -314,7 +328,7 @@ RoomList::closeJoinRoomDialog(bool isJoining, QString roomAlias) joinRoomModal_->hide(); if (isJoining) - http::client()->joinRoom(roomAlias); + emit joinRoom(roomAlias); } void