From eba6f8f361e55f365fd623fd8479ec8cee306575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Fri, 7 Apr 2023 12:55:32 -0400 Subject: [PATCH] utils: use accountPhoto when generating a swarm image Change-Id: I1fd1181aeedc47114876e2f0355b076602ac6649 GitLab: #1050 --- src/app/conversationlistmodelbase.cpp | 2 ++ src/app/utils.cpp | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/conversationlistmodelbase.cpp b/src/app/conversationlistmodelbase.cpp index 54fa22106..3a60b53d1 100644 --- a/src/app/conversationlistmodelbase.cpp +++ b/src/app/conversationlistmodelbase.cpp @@ -153,6 +153,8 @@ ConversationListModelBase::dataForItem(item_t item, int role) const Q_FOREACH (const auto& peerUri, model_->peersForConversation(item.uid)) try { auto& accInfo = lrcInstance_->getCurrentAccountInfo(); + if (peerUri == accInfo.profileInfo.uri) + return true; // Self account auto contact = accInfo.contactModel->getContact(peerUri); if (contact.isPresent) return true; diff --git a/src/app/utils.cpp b/src/app/utils.cpp index 535a9943e..914bc65d6 100644 --- a/src/app/utils.cpp +++ b/src/app/utils.cpp @@ -469,16 +469,20 @@ Utils::conversationAvatar(LRCInstance* instance, auto members = convModel->peersForConversation(convId); if (members.size() < 1) return avatar; + auto getPhoto = [&](const auto& uri) { + return uri == accInfo.profileInfo.uri ? accountPhoto(instance, accountId, size) + : contactPhoto(instance, uri, size, ""); + }; if (members.size() == 1) { // Only member in the swarm or 1:1, draw only peer's avatar - auto peerAvatar = Utils::contactPhoto(instance, members[0], size, ""); + auto peerAvatar = getPhoto(members[0]); painter.drawImage(avatar.rect(), peerAvatar); return avatar; } // Else, combine avatars auto idx = 0; - auto peerAAvatar = Utils::contactPhoto(instance, members[0], size, ""); - auto peerBAvatar = Utils::contactPhoto(instance, members[1], size, ""); + auto peerAAvatar = getPhoto(members[0]); + auto peerBAvatar = getPhoto(members[1]); peerAAvatar = Utils::halfCrop(peerAAvatar, true); peerBAvatar = Utils::halfCrop(peerBAvatar, false); painter.drawImage(avatar.rect(), peerAAvatar); -- GitLab