summary refs log tree commit diff
path: root/src/AvatarProvider.cpp
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2021-11-03 21:43:11 -0400
committerJoseph Donofry <joedonofry@gmail.com>2021-11-03 21:43:11 -0400
commit743a83c8e6f0b64b21e8042a9eb04ce35c713008 (patch)
treef980bdb8c45e607547f87e48f42144227166aa6c /src/AvatarProvider.cpp
parentMerge remote-tracking branch 'nheko-im/master' into video_player_enhancements (diff)
parentUpdate translations (diff)
downloadnheko-743a83c8e6f0b64b21e8042a9eb04ce35c713008.tar.xz
Update video_player_enhancements with changes from master
Diffstat (limited to 'src/AvatarProvider.cpp')
-rw-r--r--src/AvatarProvider.cpp69
1 files changed, 34 insertions, 35 deletions
diff --git a/src/AvatarProvider.cpp b/src/AvatarProvider.cpp

index b9962cef..177bf903 100644 --- a/src/AvatarProvider.cpp +++ b/src/AvatarProvider.cpp
@@ -22,45 +22,44 @@ namespace AvatarProvider { void resolve(QString avatarUrl, int size, QObject *receiver, AvatarCallback callback) { - const auto cacheKey = QString("%1_size_%2").arg(avatarUrl).arg(size); + const auto cacheKey = QString("%1_size_%2").arg(avatarUrl).arg(size); - QPixmap pixmap; - if (avatarUrl.isEmpty()) { - callback(pixmap); - return; - } + QPixmap pixmap; + if (avatarUrl.isEmpty()) { + callback(pixmap); + return; + } - if (avatar_cache.find(cacheKey, &pixmap)) { - callback(pixmap); - return; - } + if (avatar_cache.find(cacheKey, &pixmap)) { + callback(pixmap); + return; + } - MxcImageProvider::download(avatarUrl.remove(QStringLiteral("mxc://")), - QSize(size, size), - [callback, cacheKey, recv = QPointer<QObject>(receiver)]( - QString, QSize, QImage img, QString) { - if (!recv) - return; + MxcImageProvider::download(avatarUrl.remove(QStringLiteral("mxc://")), + QSize(size, size), + [callback, cacheKey, recv = QPointer<QObject>(receiver)]( + QString, QSize, QImage img, QString) { + if (!recv) + return; - auto proxy = std::make_shared<AvatarProxy>(); - QObject::connect(proxy.get(), - &AvatarProxy::avatarDownloaded, - recv, - [callback, cacheKey](QPixmap pm) { - if (!pm.isNull()) - avatar_cache.insert( - cacheKey, pm); - callback(pm); - }); + auto proxy = std::make_shared<AvatarProxy>(); + QObject::connect(proxy.get(), + &AvatarProxy::avatarDownloaded, + recv, + [callback, cacheKey](QPixmap pm) { + if (!pm.isNull()) + avatar_cache.insert(cacheKey, pm); + callback(pm); + }); - if (img.isNull()) { - emit proxy->avatarDownloaded(QPixmap{}); - return; - } + if (img.isNull()) { + emit proxy->avatarDownloaded(QPixmap{}); + return; + } - auto pm = QPixmap::fromImage(std::move(img)); - emit proxy->avatarDownloaded(pm); - }); + auto pm = QPixmap::fromImage(std::move(img)); + emit proxy->avatarDownloaded(pm); + }); } void @@ -70,8 +69,8 @@ resolve(const QString &room_id, QObject *receiver, AvatarCallback callback) { - auto avatarUrl = cache::avatarUrl(room_id, user_id); + auto avatarUrl = cache::avatarUrl(room_id, user_id); - resolve(std::move(avatarUrl), size, receiver, callback); + resolve(std::move(avatarUrl), size, receiver, callback); } }