Skip to content
Snippets Groups Projects
Commit 89d58e52 authored by Albert  Babí Oller's avatar Albert Babí Oller Committed by Andreas Traczyk
Browse files

misc: check "default moderators" list when removing contact

Avoid having a removed contact on the "default moderators" list.

Gitlab: #309

Change-Id: I710fe3e096be830e3cd9cfc93f2f46fb60eb20f0
parent d84219c6
No related branches found
No related tags found
No related merge requests found
......@@ -693,17 +693,28 @@ MessagesAdapter::blockConversation(const QString& convUid)
}
void
MessagesAdapter::clearConversationHistory(const QString& accountId, const QString& uid)
MessagesAdapter::clearConversationHistory(const QString& accountId, const QString& convUid)
{
lrcInstance_->getAccountInfo(accountId).conversationModel->clearHistory(uid);
if (uid == currentConvUid_)
lrcInstance_->getAccountInfo(accountId).conversationModel->clearHistory(convUid);
if (convUid == currentConvUid_)
currentConvUid_.clear();
}
void
MessagesAdapter::removeConversation(const QString& accountId, const QString& uid, bool banContact)
MessagesAdapter::removeConversation(const QString& accountId,
const QString& convUid,
bool banContact)
{
lrcInstance_->getAccountInfo(accountId).conversationModel->removeConversation(uid, banContact);
if (uid == currentConvUid_)
QStringList list = lrcInstance_->accountModel().getDefaultModerators(accountId);
const auto& convInfo = lrcInstance_->getConversationFromConvUid(convUid, accountId);
const auto contactURI = convInfo.participants.front();
if (!contactURI.isEmpty() && list.contains(contactURI)) {
lrcInstance_->accountModel().setDefaultModerator(accountId, contactURI, false);
}
lrcInstance_->getAccountInfo(accountId).conversationModel->removeConversation(convUid,
banContact);
if (convUid == currentConvUid_)
currentConvUid_.clear();
}
......@@ -37,14 +37,14 @@ public:
protected:
void safeInit() override;
Q_INVOKABLE void setupChatView(const QString& uid);
Q_INVOKABLE void setupChatView(const QString& convUid);
Q_INVOKABLE void connectConversationModel();
Q_INVOKABLE void sendContactRequest();
Q_INVOKABLE void updateConversationForAddedContact();
Q_INVOKABLE void removeConversation(const QString& accountId,
const QString& uid,
const QString& convUid,
bool banContact = false);
Q_INVOKABLE void clearConversationHistory(const QString& accountId, const QString& uid);
Q_INVOKABLE void clearConversationHistory(const QString& accountId, const QString& convUid);
// JS Q_INVOKABLE.
Q_INVOKABLE void acceptInvitation(const QString& convUid = "");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment