From 96c0084c3b1c555c142e709c7c77a80cafb8c65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Mon, 5 Jul 2021 09:34:25 -0400 Subject: [PATCH] conversationsadapter: use convId from request This fix notification's actions for the notification, finding the correct convId. GitLab: #455 Change-Id: I9b70f723eacd930f95c2eaf01ecd52b8c5d28313 --- src/conversationsadapter.cpp | 13 ++++++++----- src/conversationsadapter.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp index 2d7bf6b94..be4415ad7 100644 --- a/src/conversationsadapter.cpp +++ b/src/conversationsadapter.cpp @@ -221,17 +221,20 @@ ConversationsAdapter::onNewReadInteraction(const QString& accountId, } void -ConversationsAdapter::onNewTrustRequest(const QString& accountId, const QString& peerUri) +ConversationsAdapter::onNewTrustRequest(const QString& accountId, const QString& convId, const QString& peerUri) { #ifdef Q_OS_LINUX if (!QApplication::focusWindow() || accountId != lrcInstance_->getCurrentAccountId()) { - auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri); - if (convInfo.uid.isEmpty()) - return; + auto conv = convId; + if (conv.isEmpty()) { + 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(convInfo.uid); + auto notifId = QString("%1;%2").arg(accountId).arg(conv); systemTray_->showNotification(notifId, tr("Trust request"), "New request from " + from, diff --git a/src/conversationsadapter.h b/src/conversationsadapter.h index 1f107c05d..00ea26e4d 100644 --- a/src/conversationsadapter.h +++ b/src/conversationsadapter.h @@ -70,7 +70,7 @@ private Q_SLOTS: void onNewReadInteraction(const QString& accountId, const QString& convUid, const QString& interactionId); - void onNewTrustRequest(const QString& accountId, const QString& peerUri); + void onNewTrustRequest(const QString& accountId, const QString& convId, const QString& peerUri); void onTrustRequestTreated(const QString& accountId, const QString& peerUri); // per-account slots -- GitLab