Skip to content
Snippets Groups Projects
Commit eba6f8f3 authored by Sébastien Blin's avatar Sébastien Blin
Browse files

utils: use accountPhoto when generating a swarm image

Change-Id: I1fd1181aeedc47114876e2f0355b076602ac6649
GitLab: #1050
parent 6c0bb455
No related branches found
No related tags found
No related merge requests found
......@@ -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;
......
......@@ -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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment