From d96ee4c42c16ed6cc229497ca8a1b0c49cfcd3de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Mon, 21 Feb 2022 15:26:36 -0500 Subject: [PATCH] misc: add preferences to enable full UI for swarm Change-Id: Ied9e8d59fe9dff08ffbc10d2c723b8998d8469f1 GitLab: #670 --- src/appsettingsmanager.h | 1 + src/constant/JamiStrings.qml | 2 ++ src/mainview/components/SidePanel.qml | 13 +++++++++++- .../components/TroubleshootSettings.qml | 21 ++++++++++++++++++- src/utilsadapter.cpp | 2 ++ src/utilsadapter.h | 1 + 6 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/appsettingsmanager.h b/src/appsettingsmanager.h index 0ea1c6bba..928e416ac 100644 --- a/src/appsettingsmanager.h +++ b/src/appsettingsmanager.h @@ -43,6 +43,7 @@ extern const QString defaultDownloadPath; X(AcceptTransferBelow, 20) \ X(AutoAcceptFiles, true) \ X(DisplayHyperlinkPreviews, true) \ + X(EnableExperimentalSwarm, false) \ X(EnableDarkTheme, false) \ X(AutoUpdate, true) \ X(StartMinimized, false) \ diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml index cb80596a3..db3e76b88 100644 --- a/src/constant/JamiStrings.qml +++ b/src/constant/JamiStrings.qml @@ -424,6 +424,8 @@ Item { property string troubleshootTitle: qsTr("Troubleshoot") property string troubleshootButton: qsTr("Open logs") property string troubleshootText: qsTr("Get logs") + property string experimentalSwarm: qsTr("(Experimental) Enable small groups support for Swarm") + property string experimentalSwarmTooltip: qsTr("This feature is in development.") // Recording Settings property string tipRecordFolder: qsTr("Select a record directory") diff --git a/src/mainview/components/SidePanel.qml b/src/mainview/components/SidePanel.qml index f53582866..7b211d652 100644 --- a/src/mainview/components/SidePanel.qml +++ b/src/mainview/components/SidePanel.qml @@ -21,9 +21,10 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import net.jami.Models 1.1 import net.jami.Adapters 1.1 import net.jami.Constants 1.1 +import net.jami.Enums 1.1 +import net.jami.Models 1.1 import "../../commoncomponents" @@ -175,10 +176,20 @@ Rectangle { preferredSize: startBar.height + visible: UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm) + source: smartListLayout.visible ? JamiResources.create_swarm_svg : JamiResources.round_close_24dp_svg toolTipText: smartListLayout.visible ? JamiStrings.startASwarm : JamiStrings.cancel onClicked: createSwarmClicked() + + Connections { + target: UtilsAdapter + + function onShowExperimentalSwarm() { + startConversation.visible = UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm) + } + } } } diff --git a/src/settingsview/components/TroubleshootSettings.qml b/src/settingsview/components/TroubleshootSettings.qml index 91175d7ba..bb6cd1a7a 100644 --- a/src/settingsview/components/TroubleshootSettings.qml +++ b/src/settingsview/components/TroubleshootSettings.qml @@ -20,9 +20,10 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -import net.jami.Models 1.1 import net.jami.Adapters 1.1 import net.jami.Constants 1.1 +import net.jami.Enums 1.1 +import net.jami.Models 1.1 import "../../commoncomponents" import "../js/logviewwindowcreation.js" as LogViewWindowCreation @@ -83,4 +84,22 @@ ColumnLayout { } } } + + ToggleSwitch { + id: checkboxSwarm + + Layout.fillWidth: true + Layout.leftMargin: JamiTheme.preferredMarginSize + + checked: UtilsAdapter.getAppValue(Settings.EnableExperimentalSwarm) + + labelText: JamiStrings.experimentalSwarm + fontPointSize: JamiTheme.settingsFontSize + + tooltipText: JamiStrings.experimentalSwarmTooltip + + onSwitchToggled: { + UtilsAdapter.setAppValue(Settings.Key.EnableExperimentalSwarm, checked) + } + } } diff --git a/src/utilsadapter.cpp b/src/utilsadapter.cpp index 4269eed44..15e044634 100644 --- a/src/utilsadapter.cpp +++ b/src/utilsadapter.cpp @@ -365,6 +365,8 @@ UtilsAdapter::setAppValue(const Settings::Key key, const QVariant& value) // If we change the lang preference, reload the translations if (key == Settings::Key::LANG) settingsManager_->loadTranslations(); + else if (key == Settings::Key::EnableExperimentalSwarm) + Q_EMIT showExperimentalSwarm(); } QString diff --git a/src/utilsadapter.h b/src/utilsadapter.h index d13a8afd9..8d520a07a 100644 --- a/src/utilsadapter.h +++ b/src/utilsadapter.h @@ -110,6 +110,7 @@ public: Q_SIGNALS: void debugMessageReceived(const QString& message); + void showExperimentalSwarm(); private: QClipboard* clipboard_; -- GitLab