From a1de98c55107d48058e5e271dd6dbb726b3afb28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Tue, 29 Jun 2021 10:19:39 -0400
Subject: [PATCH] conversationsadapter: fix buttons for trust request
 notification

Change-Id: Ifa7ae09d5edc274a200fcf9d934ac27fe7c71956
GitLab: #455
---
 src/conversationsadapter.cpp | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp
index 913548a5f..ba9ca91e0 100644
--- a/src/conversationsadapter.cpp
+++ b/src/conversationsadapter.cpp
@@ -112,21 +112,15 @@ ConversationsAdapter::ConversationsAdapter(SystemTray* systemTray,
             });
     connect(systemTray_,
             &SystemTray::acceptPendingActivated,
-            [this](const QString& accountId, const QString& peerUri) {
-                auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri, accountId);
-                if (convInfo.uid.isEmpty())
-                    return;
+            [this](const QString& accountId, const QString& convUid) {
                 auto& accInfo = lrcInstance_->getAccountInfo(accountId);
-                accInfo.conversationModel->acceptConversationRequest(convInfo.uid);
+                accInfo.conversationModel->acceptConversationRequest(convUid);
             });
     connect(systemTray_,
             &SystemTray::refusePendingActivated,
-            [this](const QString& accountId, const QString& peerUri) {
-                auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri, accountId);
-                if (convInfo.uid.isEmpty())
-                    return;
+            [this](const QString& accountId, const QString& convUid) {
                 auto& accInfo = lrcInstance_->getAccountInfo(accountId);
-                accInfo.conversationModel->removeConversation(convInfo.uid);
+                accInfo.conversationModel->removeConversation(convUid);
             });
 #endif
 }
@@ -245,10 +239,13 @@ ConversationsAdapter::onNewTrustRequest(const QString& accountId, const QString&
 {
 #ifdef Q_OS_LINUX
     if (!QApplication::focusWindow() || accountId != lrcInstance_->getCurrentAccountId()) {
+        auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri);
+        if (convInfo.uid.isEmpty())
+            return;
         auto& accInfo = lrcInstance_->getAccountInfo(accountId);
         auto from = accInfo.contactModel->bestNameForContact(peerUri);
         auto contactPhoto = Utils::contactPhoto(lrcInstance_, peerUri, QSize(50, 50), accountId);
-        auto notifId = QString("%1;%2").arg(accountId).arg(peerUri);
+        auto notifId = QString("%1;%2").arg(accountId).arg(convInfo.uid);
         systemTray_->showNotification(notifId,
                                       tr("Trust request"),
                                       "New request from " + from,
-- 
GitLab