From bbd3e7435adf40ca0bf25681a46f531631ab0da0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Wed, 8 Dec 2021 16:27:47 -0500
Subject: [PATCH] newswarmpage: take title and description for new swarm

GitLab: #340
Change-Id: Ib5d3d44c620120b050fca57c774edfe2b3de7c93
---
 src/constant/JamiTheme.qml                    |  2 ++
 src/conversationsadapter.cpp                  | 10 ++++++++--
 src/conversationsadapter.h                    |  5 ++++-
 src/mainview/components/NewSwarmPage.qml      |  4 +++-
 src/mainview/components/SwarmDetailsPanel.qml | 17 ++++++++++-------
 5 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/constant/JamiTheme.qml b/src/constant/JamiTheme.qml
index 335dc8aa9..732241cf7 100644
--- a/src/constant/JamiTheme.qml
+++ b/src/constant/JamiTheme.qml
@@ -268,6 +268,8 @@ Item {
     property real preferredFieldWidth: 256
     property real preferredFieldHeight: 32
     property real preferredMarginSize: 16
+    property real settingsMarginSize: 8
+    property real swarmDetailsPageTopMargin: 64
     property real preferredDialogWidth: 400
     property real preferredDialogHeight: 300
     property real minimumPreviewWidth: 120
diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp
index 5e87e005b..a08c82af7 100644
--- a/src/conversationsadapter.cpp
+++ b/src/conversationsadapter.cpp
@@ -570,8 +570,14 @@ ConversationsAdapter::connectConversationModel()
 }
 
 void
-ConversationsAdapter::createSwarm()
+ConversationsAdapter::createSwarm(const QString& title,
+                                  const QString& description,
+                                  const QString& avatar,
+                                  const VectorString& participants)
 {
     auto convModel = lrcInstance_->getCurrentConversationModel();
-    convModel->createConversation({}, "");
+    convModel->createConversation(participants,
+                                  {{"title", title},
+                                   {"description", description},
+                                   {"avatar", avatar}});
 }
\ No newline at end of file
diff --git a/src/conversationsadapter.h b/src/conversationsadapter.h
index d9a7bc5d6..1d7e318fe 100644
--- a/src/conversationsadapter.h
+++ b/src/conversationsadapter.h
@@ -48,7 +48,10 @@ protected:
 
 public:
     Q_INVOKABLE bool connectConversationModel();
-    Q_INVOKABLE void createSwarm();
+    Q_INVOKABLE void createSwarm(const QString& title,
+                                 const QString& description,
+                                 const QString& avatar,
+                                 const VectorString& participants);
     Q_INVOKABLE void setFilter(const QString& filterString);
     Q_INVOKABLE QVariantMap getConvInfoMap(const QString& convId);
     Q_INVOKABLE void restartConversation(const QString& convId);
diff --git a/src/mainview/components/NewSwarmPage.qml b/src/mainview/components/NewSwarmPage.qml
index 5cb70464a..109d9f33b 100644
--- a/src/mainview/components/NewSwarmPage.qml
+++ b/src/mainview/components/NewSwarmPage.qml
@@ -40,6 +40,7 @@ Rectangle {
         anchors.centerIn: root
 
         EditableLineEdit {
+            id: title
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.preferredMarginSize
 
@@ -55,6 +56,7 @@ Rectangle {
         }
 
         EditableLineEdit {
+            id: description
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.preferredMarginSize
 
@@ -81,7 +83,7 @@ Rectangle {
             text: JamiStrings.createTheSwarm
 
             onClicked: {
-                ConversationsAdapter.createSwarm()
+                ConversationsAdapter.createSwarm(title.text, description.text, "", [])
                 createSwarmClicked()
             }
         }
diff --git a/src/mainview/components/SwarmDetailsPanel.qml b/src/mainview/components/SwarmDetailsPanel.qml
index 986a167e5..923f798fb 100644
--- a/src/mainview/components/SwarmDetailsPanel.qml
+++ b/src/mainview/components/SwarmDetailsPanel.qml
@@ -82,7 +82,10 @@ Rectangle {
                 Layout.topMargin: JamiTheme.preferredMarginSize
                 Layout.bottomMargin: JamiTheme.preferredMarginSize
 
-                font.pointSize: JamiTheme.titleFontSize
+                font.pointSize: JamiTheme.menuFontSize
+
+                horizontalAlignment: Text.AlignHCenter
+                verticalAlignment: Text.AlignVCenter
 
                 text: CurrentConversation.description
                 placeholderText: JamiStrings.editDescription
@@ -108,8 +111,8 @@ Rectangle {
                     backgroundColor: JamiTheme.buttonTintedBlue
                     hoverColor: JamiTheme.buttonTintedBlue
                     borderWidth: 4
-                    bottomMargin: JamiTheme.preferredMarginSize
-                    fontSize: JamiTheme.titleFontSize
+                    bottomMargin: JamiTheme.settingsMarginSize
+                    fontSize: JamiTheme.menuFontSize
                     underlineContentOnly: true
 
                     down: tabBar.currentIndex === 0
@@ -121,8 +124,8 @@ Rectangle {
                     backgroundColor: JamiTheme.buttonTintedBlue
                     hoverColor: JamiTheme.buttonTintedBlue
                     borderWidth: 4
-                    bottomMargin: JamiTheme.preferredMarginSize
-                    fontSize: JamiTheme.titleFontSize
+                    bottomMargin: JamiTheme.settingsMarginSize
+                    fontSize: JamiTheme.menuFontSize
                     underlineContentOnly: true
 
                     down: true//tabBar.currentIndex === 1
@@ -139,8 +142,8 @@ Rectangle {
                     backgroundColor: JamiTheme.buttonTintedBlue
                     hoverColor: JamiTheme.buttonTintedBlue
                     borderWidth: 4
-                    bottomMargin: JamiTheme.preferredMarginSize
-                    fontSize: JamiTheme.titleFontSize
+                    bottomMargin: JamiTheme.settingsMarginSize
+                    fontSize: JamiTheme.menuFontSize
                     underlineContentOnly: true
 
                     down: tabBar.currentIndex === 2
-- 
GitLab