diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp index 98f39196e4fbdd33d964a69d39e931e5d376fb08..9db145d0013895d25b5995ecc9b3e3fe6b45bbd0 100644 --- a/src/conversationsadapter.cpp +++ b/src/conversationsadapter.cpp @@ -116,7 +116,8 @@ ConversationsAdapter::ConversationsAdapter(SystemTray* systemTray, auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri, accountId); if (convInfo.uid.isEmpty()) return; - lrcInstance_->makeConversationPermanent(convInfo.uid, accountId); + auto* convModel = lrcInstance_->getAccountInfo(accountId).conversationModel; + convModel->acceptConversationRequest(convInfo.uid); }); connect(systemTray_, &SystemTray::refusePendingActivated, @@ -124,8 +125,8 @@ ConversationsAdapter::ConversationsAdapter(SystemTray* systemTray, auto& convInfo = lrcInstance_->getConversationFromPeerUri(peerUri, accountId); if (convInfo.uid.isEmpty()) return; - lrcInstance_->getAccountInfo(accountId).conversationModel->removeConversation( - convInfo.uid); + auto* convModel = lrcInstance_->getAccountInfo(accountId).conversationModel; + convModel->removeConversation(convInfo.uid); }); #endif } diff --git a/src/lrcinstance.cpp b/src/lrcinstance.cpp index f1f07473daba31f95c816ea5af1ceba632d0eeb0..f68c85237ab823554b3b816fa9b480f97ab37113 100644 --- a/src/lrcinstance.cpp +++ b/src/lrcinstance.cpp @@ -440,7 +440,7 @@ LRCInstance::makeConversationPermanent(const QString& convId, const QString& acc const auto& accInfo = accountModel().getAccountInfo(aId); auto cId = convId.isEmpty() ? selectedConvUid_ : convId; if (cId.isEmpty()) { - qWarning() << Q_FUNC_INFO << "no Id provided"; + qWarning() << Q_FUNC_INFO << "no conversation to make permanent"; return; } accInfo.conversationModel.get()->makePermanent(cId); diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp index cd84c91fa69e9355b9d35bc9a9d2b4a1eac8069d..ee1f15d0e3dc83520440946f7d39a28d61eb4fce 100644 --- a/src/messagesadapter.cpp +++ b/src/messagesadapter.cpp @@ -715,10 +715,12 @@ MessagesAdapter::contactIsComposing(const QString& contactUri, bool isComposing) } void -MessagesAdapter::acceptInvitation(const QString& convUid) +MessagesAdapter::acceptInvitation(const QString& convId) { - lrcInstance_->makeConversationPermanent(convUid); - if (convUid == currentConvUid_) + auto conversationId = convId.isEmpty() ? lrcInstance_->get_selectedConvUid() : convId; + auto* convModel = lrcInstance_->getCurrentConversationModel(); + convModel->acceptConversationRequest(conversationId); + if (conversationId == currentConvUid_) currentConvUid_.clear(); }