From 24518cd91d0603394fc5a94a1a6807fdfc65a33c Mon Sep 17 00:00:00 2001
From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com>
Date: Mon, 31 May 2021 15:50:48 -0400
Subject: [PATCH] settings: only receive debug log when enabled

Change-Id: I2f44f543e893507be205e6cf1efb0219b76d5418
---
 src/constant/JamiStrings.qml                    |  2 +-
 src/settingsadapter.cpp                         | 17 ++++++++++-------
 src/settingsadapter.h                           |  2 ++
 .../components/GeneralSettingsPage.qml          |  3 ++-
 4 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml
index fba9b4ced..82ffef41f 100644
--- a/src/constant/JamiStrings.qml
+++ b/src/constant/JamiStrings.qml
@@ -339,7 +339,7 @@ Item {
     property string logsViewCancel: qsTr("Cancel")
     property string logsViewCopied: qsTr("Copied to clipboard!")
     property string logsViewDisplay: qsTr("Receive Logs")
-    
+
     // ImportFromBackupPage
     property string archive: qsTr("Archive")
     property string openFile: qsTr("Open file")
diff --git a/src/settingsadapter.cpp b/src/settingsadapter.cpp
index 6c379ada5..a489d00bb 100644
--- a/src/settingsadapter.cpp
+++ b/src/settingsadapter.cpp
@@ -26,13 +26,7 @@ SettingsAdapter::SettingsAdapter(AppSettingsManager* settingsManager,
                                  QObject* parent)
     : QmlAdapterBase(instance, parent)
     , settingsManager_(settingsManager)
-{
-    QObject::connect(&lrcInstance_->behaviorController(),
-                     &lrc::api::BehaviorController::debugMessageReceived,
-                     this,
-                     &SettingsAdapter::debugMessageReceived,
-                     Qt::ConnectionType::UniqueConnection);
-}
+{}
 
 QString
 SettingsAdapter::getDir_Document()
@@ -1110,5 +1104,14 @@ SettingsAdapter::isAllModeratorsEnabled(const QString& accountId)
 void
 SettingsAdapter::monitor(const bool& continuous)
 {
+    if (continuous)
+        debugMessageReceivedConnection_
+            = QObject::connect(&lrcInstance_->behaviorController(),
+                               &lrc::api::BehaviorController::debugMessageReceived,
+                               this,
+                               &SettingsAdapter::debugMessageReceived,
+                               Qt::ConnectionType::UniqueConnection);
+    else
+        disconnect(debugMessageReceivedConnection_);
     lrcInstance_->monitor(continuous);
 }
diff --git a/src/settingsadapter.h b/src/settingsadapter.h
index b22e95712..98e1be2d0 100644
--- a/src/settingsadapter.h
+++ b/src/settingsadapter.h
@@ -235,5 +235,7 @@ Q_SIGNALS:
 
 private:
     AppSettingsManager* settingsManager_;
+
+    QMetaObject::Connection debugMessageReceivedConnection_;
 };
 Q_DECLARE_METATYPE(SettingsAdapter*)
diff --git a/src/settingsview/components/GeneralSettingsPage.qml b/src/settingsview/components/GeneralSettingsPage.qml
index 06c68f417..eb56ce115 100644
--- a/src/settingsview/components/GeneralSettingsPage.qml
+++ b/src/settingsview/components/GeneralSettingsPage.qml
@@ -84,6 +84,7 @@ Rectangle {
             Layout.rightMargin: JamiTheme.preferredMarginSize
             Layout.bottomMargin: JamiTheme.preferredMarginSize
             itemWidth: preferredColumnWidth
+            visible: Qt.platform.os == "windows" ? false : true
         }
 
         // update setting panel
@@ -92,7 +93,7 @@ Rectangle {
             Layout.leftMargin: JamiTheme.preferredMarginSize
             Layout.rightMargin: JamiTheme.preferredMarginSize
             Layout.bottomMargin: JamiTheme.preferredMarginSize
-            visible: Qt.platform.os == "windows"? true : false
+            visible: Qt.platform.os == "windows" ? true : false
         }
     }
 }
-- 
GitLab