From 4a29b5f48bade76f2bf94ca99924570c76b31341 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Fri, 11 Feb 2022 16:49:51 -0500
Subject: [PATCH] conversationmodel: get avatar from conversation's profile

https://git.jami.net/savoirfairelinux/jami-client-qt/-/issues/670

Change-Id: I76773579f7460a599d0a760acc2d32027e657e82
---
 src/api/conversationmodel.h |  6 ++++++
 src/conversationmodel.cpp   | 13 ++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/api/conversationmodel.h b/src/api/conversationmodel.h
index 98dd8107..9ac2b50c 100644
--- a/src/api/conversationmodel.h
+++ b/src/api/conversationmodel.h
@@ -385,6 +385,12 @@ public:
      * @return the description to display
      */
     QString description(const QString& conversationId) const;
+    /**
+     * Get conversation's avatar.
+     * @param conversationId
+     * @return the avatar to display
+     */
+    QString avatar(const QString& conversationId) const;
 
     /**
      * Get member's role in conversation
diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp
index 72048e0d..88100f39 100644
--- a/src/conversationmodel.cpp
+++ b/src/conversationmodel.cpp
@@ -1081,6 +1081,17 @@ ConversationModel::description(const QString& conversationId) const
     return conversation.infos["description"];
 }
 
+QString
+ConversationModel::avatar(const QString& conversationId) const
+{
+    auto conversationOpt = getConversationForUid(conversationId);
+    if (!conversationOpt.has_value()) {
+        return {};
+    }
+    auto& conversation = conversationOpt->get();
+    return conversation.infos["avatar"];
+}
+
 void
 ConversationModel::sendMessage(const QString& uid, const QString& body, const QString& parentId)
 {
@@ -2228,7 +2239,7 @@ ConversationModelPimpl::slotConversationLoaded(uint32_t requestId,
 
     try {
         auto& conversation = getConversationForUid(conversationId).get();
-        for (const auto& message: messages) {
+        for (const auto& message : messages) {
             if (message["type"].isEmpty() || message["type"] == "application/update-profile") {
                 continue;
             }
-- 
GitLab