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

contactmodel: show avatars for search results

For JAMS accounts, the search results does have avatars. So they
must be shown

Change-Id: I296128ef112f88afb1505d8cf639dcc36732567d
parent 9e12d838
Branches master
No related tags found
No related merge requests found
......@@ -530,7 +530,7 @@ ContactModel::bestNameForContact(const QString& contactUri) const
return bestIdFromContactInfo(contact);
}
return alias;
} catch(const std::out_of_range&) {
} catch (const std::out_of_range&) {
}
return contactUri;
}
......@@ -538,6 +538,15 @@ ContactModel::bestNameForContact(const QString& contactUri) const
QString
ContactModel::avatar(const QString& uri) const
{
{
std::lock_guard<std::mutex> lk(pimpl_->contactsMtx_);
// For search results it's loaded and not in storage yet.
if (pimpl_->searchResult.contains(uri)) {
auto contact = pimpl_->searchResult.value(uri);
return contact.profileInfo.avatar;
}
}
// Else search in storage
return storage::avatar(owner.id, uri);
}
......
......@@ -1101,6 +1101,13 @@ ConversationModel::avatar(const QString& conversationId) const
return {};
}
auto& conversation = conversationOpt->get();
if (conversation.isCoreDialog()) {
auto peer = pimpl_->peersForConversation(conversation);
if (peer.isEmpty())
return {};
// In this case, we can just display contact name
return owner.contactModel->avatar(peer.at(0));
}
return conversation.infos["avatar"];
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment