From f27f4374a201291f1cb68bcad0c80fa4bbd0ffed Mon Sep 17 00:00:00 2001
From: ababi <albert.babi@savoirfairelinux.com>
Date: Thu, 11 Feb 2021 12:50:31 +0100
Subject: [PATCH] smartlist: switch to conversations tab on invitation accept

- switch tab to conversations smartlist
- go to welcomeview

TODO: define UI behavior while waiting for the smartlist update

Gitlab: #284

Change-Id: I251c49e5b0b418f41d5872ef09d32db5bc940df2
---
 src/mainview/MainView.qml | 5 +++++
 src/messagesadapter.cpp   | 3 +++
 src/messagesadapter.h     | 1 +
 3 files changed, 9 insertions(+)

diff --git a/src/mainview/MainView.qml b/src/mainview/MainView.qml
index 960c22a6e..73c71374f 100644
--- a/src/mainview/MainView.qml
+++ b/src/mainview/MainView.qml
@@ -463,6 +463,11 @@ Rectangle {
             function onNavigateToWelcomePageRequested() {
                 backToMainView()
             }
+
+            function onInvitationAccepted() {
+                mainViewSidePanel.selectTab(SidePanelTabBar.Conversations)
+                showWelcomeView()
+            }
         }
 
         Component.onCompleted: {
diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index 971bfd5f9..644d86dc5 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -664,6 +664,9 @@ MessagesAdapter::acceptInvitation(const QString& convUid)
 {
     const auto currentConvUid = convUid.isEmpty() ? lrcInstance_->getCurrentConvUid() : convUid;
     lrcInstance_->getCurrentConversationModel()->makePermanent(currentConvUid);
+    if (convUid == currentConvUid_)
+        currentConvUid_.clear();
+    emit invitationAccepted();
 }
 
 void
diff --git a/src/messagesadapter.h b/src/messagesadapter.h
index f94e58aa8..1d5773a5d 100644
--- a/src/messagesadapter.h
+++ b/src/messagesadapter.h
@@ -91,6 +91,7 @@ signals:
     void needToUpdateSmartList();
     void contactBanned();
     void navigateToWelcomePageRequested();
+    void invitationAccepted();
 
 public slots:
     void slotSendMessageContentSaved(const QString& content);
-- 
GitLab