From 93da093ba671f1784204a6686fe558470bd34bb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Fri, 14 Jan 2022 14:18:00 -0500
Subject: [PATCH] callactionbar: add fullscreen button

Also fix a typo causing the icon in the context menu to not update

Change-Id: I8886b45afcc55a3c724494afa10fc125d218d14e
---
 src/mainview/components/CallActionBar.qml       | 13 +++++++++++++
 src/mainview/components/CallOverlay.qml         |  2 ++
 src/mainview/components/CallViewContextMenu.qml |  4 ++--
 src/mainview/components/OngoingCallPage.qml     |  4 ++++
 4 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/src/mainview/components/CallActionBar.qml b/src/mainview/components/CallActionBar.qml
index 3dcd85505..e6a08e16b 100644
--- a/src/mainview/components/CallActionBar.qml
+++ b/src/mainview/components/CallActionBar.qml
@@ -50,6 +50,7 @@ Control {
     signal shareFileClicked
     signal pluginsClicked
     signal recordCallClicked
+    signal fullScreenClicked
 
     Component {
         id: buttonDelegate
@@ -220,6 +221,17 @@ Control {
             icon.color: "white"
             text: JamiStrings.chat
         },
+        Action {
+            id: fullScreenAction
+            icon.source: layoutManager.isCallFullscreen ?
+                            JamiResources.close_fullscreen_24dp_svg :
+                            JamiResources.open_in_full_24dp_svg
+            icon.color: "white"
+            onTriggered: root.fullScreenClicked()
+            text: layoutManager.isCallFullscreen ?
+                          JamiStrings.exitFullScreen :
+                          JamiStrings.fullScreen
+        },
         Action {
             id: resumePauseCallAction
             onTriggered: root.resumePauseCallClicked()
@@ -345,6 +357,7 @@ Control {
             CallOverlayModel.addSecondaryControl(shareAction)
         CallOverlayModel.addSecondaryControl(recordAction)
         CallOverlayModel.addSecondaryControl(pluginsAction)
+        CallOverlayModel.addSecondaryControl(fullScreenAction)
         overflowItemCount = CallOverlayModel.secondaryModel().rowCount()
 
         muteAudioAction.checked = isAudioMuted
diff --git a/src/mainview/components/CallOverlay.qml b/src/mainview/components/CallOverlay.qml
index 2695c7b26..46a4abd63 100644
--- a/src/mainview/components/CallOverlay.qml
+++ b/src/mainview/components/CallOverlay.qml
@@ -49,6 +49,7 @@ Item {
     property bool localHandRaised
 
     signal chatButtonClicked
+    signal fullScreenClicked
 
     ParticipantsLayer {
         id: __participantsLayer
@@ -210,6 +211,7 @@ Item {
             function onRecordCallClicked() { recordClicked() }
             function onShareFileClicked() { jamiFileDialog.open() }
             function onPluginsClicked() { openPluginsMenu() }
+            function onFullScreenClicked() { root.fullScreenClicked() }
         }
     }
 
diff --git a/src/mainview/components/CallViewContextMenu.qml b/src/mainview/components/CallViewContextMenu.qml
index d83ab7793..baf4565c2 100644
--- a/src/mainview/components/CallViewContextMenu.qml
+++ b/src/mainview/components/CallViewContextMenu.qml
@@ -88,10 +88,10 @@ ContextMenuAutoLoader {
         GeneralMenuItem {
             id: fullScreen
 
-            itemName: layoutManager.callIsFullscreen ?
+            itemName: layoutManager.isCallFullscreen ?
                           JamiStrings.exitFullScreen :
                           JamiStrings.fullScreen
-            iconSource: layoutManager.callIsFullscreen ?
+            iconSource: layoutManager.isCallFullscreen ?
                             JamiResources.close_fullscreen_24dp_svg :
                             JamiResources.open_in_full_24dp_svg
             onClicked: {
diff --git a/src/mainview/components/OngoingCallPage.qml b/src/mainview/components/OngoingCallPage.qml
index e91be7e7f..2fedf07c5 100644
--- a/src/mainview/components/OngoingCallPage.qml
+++ b/src/mainview/components/OngoingCallPage.qml
@@ -331,6 +331,10 @@ Rectangle {
                                     closeInCallConversation() :
                                     openInCallConversation()
                     }
+
+                    onFullScreenClicked: {
+                        callStackView.toggleFullScreen()
+                    }
                 }
 
                 ColumnLayout {
-- 
GitLab