From 1510ccaede0726a4e002be0445fef06a840dbde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Wed, 22 Mar 2023 15:52:10 -0400 Subject: [PATCH] ongoingcallpage: move button to flip preview Change-Id: I564e5b721b65caab9e8f01c12d30194db9e4844f GitLab: #1039 --- src/app/mainview/components/CallActionBar.qml | 11 ----------- src/app/mainview/components/CallOverlay.qml | 4 +++- src/app/mainview/components/CallViewContextMenu.qml | 11 ++++++++++- src/app/mainview/components/OngoingCallPage.qml | 5 ++++- 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/app/mainview/components/CallActionBar.qml b/src/app/mainview/components/CallActionBar.qml index 4d665c64b..a4d520407 100644 --- a/src/app/mainview/components/CallActionBar.qml +++ b/src/app/mainview/components/CallActionBar.qml @@ -188,10 +188,6 @@ Control { UtilsAdapter.setAppValue(Settings.HideSpectators, !layoutModel.get(index).ActiveSetting) CurrentCall.hideSpectators = UtilsAdapter.getAppValue(Settings.HideSpectators) break - case JamiStrings.mirrorLocalVideo: - UtilsAdapter.setAppValue(Settings.FlipSelf, !layoutModel.get(index).ActiveSetting) - CurrentCall.flipSelf = UtilsAdapter.getAppValue(Settings.FlipSelf) - break } } onTriggered: { @@ -226,13 +222,6 @@ Control { "SectionEnd": false}) } - layoutModel.append({"Name": JamiStrings.mirrorLocalVideo, - "IconSource": JamiResources.flip_24dp_svg, - "ActiveSetting": UtilsAdapter.getAppValue(Settings.FlipSelf), - "TopMargin": !CurrentCall.isConference, - "BottomMargin": true, - "SectionEnd": true}) - layoutModel.append({"Name": JamiStrings.viewFullScreen, "IconSource": JamiResources.open_in_full_24dp_svg, "ActiveSetting": layoutManager.isCallFullscreen, diff --git a/src/app/mainview/components/CallOverlay.qml b/src/app/mainview/components/CallOverlay.qml index 67473c22d..a5fcff6c6 100644 --- a/src/app/mainview/components/CallOverlay.qml +++ b/src/app/mainview/components/CallOverlay.qml @@ -55,13 +55,15 @@ Item { function openCallViewContextMenuInPos(x, y, hoveredOverlayUri, hoveredOverlaySinkId, - hoveredOverVideoMuted) + hoveredOverVideoMuted, + isOnLocal) { callViewContextMenu.x = root.width - x >= callViewContextMenu.width ? x : root.width - callViewContextMenu.width callViewContextMenu.y = root.height - y >= callViewContextMenu.height ? y : root.height - callViewContextMenu.height callViewContextMenu.hoveredOverlayUri = hoveredOverlayUri callViewContextMenu.hoveredOverlaySinkId = hoveredOverlaySinkId callViewContextMenu.hoveredOverVideoMuted = hoveredOverVideoMuted + callViewContextMenu.isOnLocal = isOnLocal callViewContextMenu.open() } diff --git a/src/app/mainview/components/CallViewContextMenu.qml b/src/app/mainview/components/CallViewContextMenu.qml index 91611dad6..cb539f3c1 100644 --- a/src/app/mainview/components/CallViewContextMenu.qml +++ b/src/app/mainview/components/CallViewContextMenu.qml @@ -22,9 +22,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.Models 1.1 +import net.jami.Enums 1.1 import "../../commoncomponents" import "../../commoncomponents/contextmenu" @@ -39,6 +40,7 @@ Popup { property string hoveredOverlayUri: "" property string hoveredOverlaySinkId: "" property bool hoveredOverVideoMuted: true + property bool isOnLocal: false property var listModel: ListModel { id: actionsModel @@ -47,6 +49,9 @@ Popup { onAboutToShow: { actionsModel.clear() actionsModel.append({"Top": true}) + if (root.isOnLocal) + actionsModel.append({"Name": JamiStrings.mirrorLocalVideo, + "IconSource": JamiResources.flip_24dp_svg}) if (hoveredOverlayUri !== "" && hoveredOverVideoMuted === false) actionsModel.append({"Name": JamiStrings.tileScreenshot, "IconSource" : JamiResources.screenshot_black_24dp_svg}) @@ -132,6 +137,10 @@ Popup { screenshotTaken() } break + case JamiStrings.mirrorLocalVideo: + UtilsAdapter.setAppValue(Settings.FlipSelf, !UtilsAdapter.getAppValue(Settings.FlipSelf)) + CurrentCall.flipSelf = UtilsAdapter.getAppValue(Settings.FlipSelf) + break } root.close() } diff --git a/src/app/mainview/components/OngoingCallPage.qml b/src/app/mainview/components/OngoingCallPage.qml index d73bfd6b8..46e263645 100644 --- a/src/app/mainview/components/OngoingCallPage.qml +++ b/src/app/mainview/components/OngoingCallPage.qml @@ -160,11 +160,14 @@ Rectangle { onTapped: function (eventPoint, button) { if (button === Qt.RightButton) { + var isOnLocal = eventPoint.position.x >= previewRenderer.x && eventPoint.position.x <= previewRenderer.x + previewRenderer.width + isOnLocal &= eventPoint.position.y >= previewRenderer.y && eventPoint.position.y <= previewRenderer.y + previewRenderer.height callOverlay.openCallViewContextMenuInPos(eventPoint.position.x, eventPoint.position.y, participantsLayer.hoveredOverlayUri, participantsLayer.hoveredOverlaySinkId, - participantsLayer.hoveredOverVideoMuted) + participantsLayer.hoveredOverVideoMuted, + isOnLocal) } } } -- GitLab