From f3334fed4563a180d1e99a5d5d1dd856ee600225 Mon Sep 17 00:00:00 2001
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
Date: Tue, 29 Nov 2022 16:15:27 -0300
Subject: [PATCH] fix: properly delete one to one swarm

Change-Id: If154f7c1ef6f735a93afe96e96a91ddb0db369b3
---
 .../mainview/components/ConversationListView.qml  |  2 ++
 .../ConversationSmartListContextMenu.qml          | 15 +++++++--------
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/app/mainview/components/ConversationListView.qml b/src/app/mainview/components/ConversationListView.qml
index 7d609cfc7..c1686450a 100644
--- a/src/app/mainview/components/ConversationListView.qml
+++ b/src/app/mainview/components/ConversationListView.qml
@@ -132,6 +132,7 @@ JamiListView {
                 "uri": model.dataForRow(row, ConversationList.URI),
                 "isBanned": model.dataForRow(row, ConversationList.IsBanned),
                 "mode": model.dataForRow(row, ConversationList.Mode),
+                "isCoreDialog": model.dataForRow(row, ConversationList.IsCoreDialog),
                 "isTemporary": model.dataForRow(row, ConversationList.ContactType) === Profile.Type.TEMPORARY,
             }
 
@@ -139,6 +140,7 @@ JamiListView {
             responsibleConvUid = item.convId
             isBanned = item.isBanned
             mode = item.mode
+            isCoreDialog = item.isCoreDialog
             contactType = LRCInstance.currentAccountType
             readOnly = mode === Conversation.Mode.NON_SWARM && !item.isTemporary && CurrentAccount.type !== Profile.Type.SIP
 
diff --git a/src/app/mainview/components/ConversationSmartListContextMenu.qml b/src/app/mainview/components/ConversationSmartListContextMenu.qml
index 2cbce07b8..7adc84999 100644
--- a/src/app/mainview/components/ConversationSmartListContextMenu.qml
+++ b/src/app/mainview/components/ConversationSmartListContextMenu.qml
@@ -37,7 +37,7 @@ ContextMenuAutoLoader {
         textLabel: JamiStrings.confirmRmConversation
         confirmLabel: JamiStrings.optionRemove
         onAccepted: {
-            if (isSwarm)
+            if (!isCoreDialog)
                 MessagesAdapter.removeConversation(responsibleConvUid)
             else
                 MessagesAdapter.removeContact(responsibleConvUid)
@@ -56,7 +56,7 @@ ContextMenuAutoLoader {
     property string responsibleAccountId: ""
     property string responsibleConvUid: ""
     property bool isBanned: false
-    property bool isSwarm: false
+    property var isCoreDialog: undefined
     property var mode: undefined
     property int contactType: Profile.Type.INVALID
     property bool hasCall: {
@@ -96,7 +96,7 @@ ContextMenuAutoLoader {
         GeneralMenuItem {
             id: clearConversation
 
-            canTrigger: !isSwarm && !hasCall && !root.isBanned
+            canTrigger: isCoreDialog && !hasCall && !root.isBanned
             itemName: JamiStrings.clearConversation
             iconSource: JamiResources.ic_clear_24dp_svg
             onClicked: MessagesAdapter.clearConversationHistory(
@@ -108,7 +108,7 @@ ContextMenuAutoLoader {
 
             canTrigger: !hasCall && !root.isBanned
             itemName: {
-                if (mode !== Conversation.Mode.ONE_TO_ONE && mode !== Conversation.Mode.NON_SWARM)
+                if (mode !== Conversation.Mode.NON_SWARM)
                     return JamiStrings.removeConversation
                 else
                     return JamiStrings.removeContact
@@ -148,7 +148,7 @@ ContextMenuAutoLoader {
             id: blockContact
 
             canTrigger: !hasCall && contactType !== Profile.Type.SIP && !root.isBanned
-            itemName: !(mode && mode !== Conversation.Mode.ONE_TO_ONE && mode !== Conversation.Mode.NON_SWARM) ? JamiStrings.blockContact : JamiStrings.blockSwarm
+            itemName: !(mode && isCoreDialog) ? JamiStrings.blockContact : JamiStrings.blockSwarm
             iconSource: JamiResources.block_black_24dp_svg
             addMenuSeparatorAfter: contactType !== Profile.Type.SIP
             onClicked: blockDialog.open()
@@ -165,12 +165,11 @@ ContextMenuAutoLoader {
         GeneralMenuItem {
             id: contactDetails
 
-            property bool oneToOne: !(mode && mode !== Conversation.Mode.ONE_TO_ONE && mode !== Conversation.Mode.NON_SWARM)
             canTrigger: contactType !== Profile.Type.SIP
-            itemName: oneToOne ? JamiStrings.contactDetails : JamiStrings.convDetails
+            itemName: isCoreDialog ? JamiStrings.contactDetails : JamiStrings.convDetails
             iconSource: JamiResources.person_24dp_svg
             onClicked: {
-                if (oneToOne)
+                if (isCoreDialog)
                     userProfile.open()
                 else
                     root.showSwarmDetails()
-- 
GitLab