From 3a023b07756f23b828b97a087b0b32f642821d8d Mon Sep 17 00:00:00 2001
From: ababi <albert.babi@savoirfairelinux.com>
Date: Mon, 28 Sep 2020 10:06:20 +0200
Subject: [PATCH] misc: avoid unnecessary signals for contact request

- avoid "needTo" signal/slots and unnecessary propagation loops

Gitlab: #86
Gitlab: #88

Change-Id: I25a373b4e02f53502fdc302602ffcc7117b4b97a
---
 src/mainview/MainView.qml                        | 10 +++-------
 src/mainview/components/MessageWebView.qml       |  5 -----
 src/mainview/components/MessageWebViewHeader.qml |  7 +++----
 src/mainview/components/SidePanel.qml            |  1 -
 4 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/mainview/MainView.qml b/src/mainview/MainView.qml
index d81655ec7..f2478ef98 100644
--- a/src/mainview/MainView.qml
+++ b/src/mainview/MainView.qml
@@ -306,7 +306,9 @@ Window {
                         target: AccountAdapter
 
                         function onUpdateConversationForAddedContact() {
-                            mainViewWindowSidePanel.needToUpdateConversationForAddedContact()
+                            MessagesAdapter.updateConversationForAddedContact()
+                            mainViewWindowSidePanel.clearContactSearchBar()
+                            mainViewWindowSidePanel.forceReselectConversationSmartListCurrentIndex()
                         }
 
                         function onAccountStatusChanged() {
@@ -507,12 +509,6 @@ Window {
             }
         }
 
-        onNeedToUpdateConversationForAddedContact: {
-            MessagesAdapter.updateConversationForAddedContact()
-            mainViewWindowSidePanel.clearContactSearchBar()
-            mainViewWindowSidePanel.forceReselectConversationSmartListCurrentIndex()
-        }
-
         Connections {
             target: ConversationsAdapter
 
diff --git a/src/mainview/components/MessageWebView.qml b/src/mainview/components/MessageWebView.qml
index b1d339afc..0dff595fe 100644
--- a/src/mainview/components/MessageWebView.qml
+++ b/src/mainview/components/MessageWebView.qml
@@ -34,7 +34,6 @@ Rectangle {
     property string headerUserUserNameLabelText: ""
 
     signal needToHideConversationInCall
-    signal needToSendContactRequest
 
     signal sendMessageContentSaved(string arg)
     signal messagesCleared
@@ -100,10 +99,6 @@ Rectangle {
         onNeedToHideConversationInCall: {
             messageWebViewRect.needToHideConversationInCall()
         }
-
-        onSendContactRequestButtonClicked: {
-            MessagesAdapter.sendContactRequest()
-        }
     }
 
     QtObject {
diff --git a/src/mainview/components/MessageWebViewHeader.qml b/src/mainview/components/MessageWebViewHeader.qml
index 9f19a369e..d8c696b9d 100644
--- a/src/mainview/components/MessageWebViewHeader.qml
+++ b/src/mainview/components/MessageWebViewHeader.qml
@@ -34,7 +34,6 @@ Rectangle {
 
     signal backClicked
     signal needToHideConversationInCall
-    signal sendContactRequestButtonClicked
 
     function resetBackToWelcomeViewButtonSource(reset) {
         backToWelcomeViewButtonSource = reset ? "qrc:/images/icons/ic_arrow_back_24px.svg" : "qrc:/images/icons/round-close-24px.svg"
@@ -149,7 +148,7 @@ Rectangle {
                 onExitColor: "white"
 
                 onClicked: {
-                    messagingHeaderRect.sendContactRequestButtonClicked()
+                    MessagesAdapter.sendContactRequest()
                     CallAdapter.placeAudioOnlyCall()
                 }
             }
@@ -170,7 +169,7 @@ Rectangle {
                 onExitColor: "white"
 
                 onClicked: {
-                    messagingHeaderRect.sendContactRequestButtonClicked()
+                    MessagesAdapter.sendContactRequest()
                     CallAdapter.placeCall()
                 }
             }
@@ -192,7 +191,7 @@ Rectangle {
                 onExitColor: "white"
 
                 onClicked: {
-                    messagingHeaderRect.sendContactRequestButtonClicked()
+                    MessagesAdapter.sendContactRequest()
                     sendContactRequestButtonVisible = false
                 }
 
diff --git a/src/mainview/components/SidePanel.qml b/src/mainview/components/SidePanel.qml
index 6db11c38f..3fdbb7c09 100644
--- a/src/mainview/components/SidePanel.qml
+++ b/src/mainview/components/SidePanel.qml
@@ -34,7 +34,6 @@ Rectangle {
     property int totalUnreadMessagesCount: 0
 
     signal conversationSmartListNeedToAccessMessageWebView(string currentUserDisplayName, string currentUserAlias, string currentUID, bool callStackViewShouldShow, bool isAudioOnly, int callState)
-    signal needToUpdateConversationForAddedContact
 
     // Hack -> force redraw.
     function forceReselectConversationSmartListCurrentIndex() {
-- 
GitLab