From bd5508695b8dfd4d94020770a6f98401cfc9e818 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 29 Sep 2022 14:01:53 +0200 Subject: [PATCH] Close camera before calling from Waiting room. Synchronize video layout to current call in menu. --- linphone-app/ui/modules/Linphone/Menus/IncallMenu.qml | 6 ++++-- linphone-app/ui/views/App/Calls/WaitingRoom.qml | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/linphone-app/ui/modules/Linphone/Menus/IncallMenu.qml b/linphone-app/ui/modules/Linphone/Menus/IncallMenu.qml index 8d2462655..46d371086 100644 --- a/linphone-app/ui/modules/Linphone/Menus/IncallMenu.qml +++ b/linphone-app/ui/modules/Linphone/Menus/IncallMenu.qml @@ -235,10 +235,12 @@ Rectangle{ ButtonGroup.group: modeGroup text: modelData.text - // break bind. Radiobutton checked itself without taking care of custom binding. This workaound works as long as we don't really need the binding. - Component.onCompleted: checked = mainItem.callModel ? (mainItem.callModel.localVideoEnabled && modelData.value == mainItem.callModel.conferenceVideoLayout) + property bool isInternallyChecked: mainItem.callModel ? (mainItem.callModel.localVideoEnabled && modelData.value == mainItem.callModel.conferenceVideoLayout) || (!mainItem.callModel.localVideoEnabled && modelData.value == 2) : false + // break bind. Radiobutton checked itself without taking care of custom binding. This workaound works as long as we don't really need the binding. + onIsInternallyCheckedChanged: checked = isInternallyChecked + Component.onCompleted: checked = isInternallyChecked Timer{ id: changingLayoutDelay interval: 100 diff --git a/linphone-app/ui/views/App/Calls/WaitingRoom.qml b/linphone-app/ui/views/App/Calls/WaitingRoom.qml index 6148a6624..6c830f547 100644 --- a/linphone-app/ui/views/App/Calls/WaitingRoom.qml +++ b/linphone-app/ui/views/App/Calls/WaitingRoom.qml @@ -315,7 +315,8 @@ Rectangle { backgroundRadius: width/2 colorSet: WaitingRoomStyle.buttons.call visible: false && !callModel && conferenceInfoModel - onClicked: {CallsListModel.launchVideoCall(conferenceInfoModel.uri, '', 0, + onClicked: {mainItem.close() + CallsListModel.launchVideoCall(conferenceInfoModel.uri, '', 0, { video: modeChoice.selectedMode != 2 , camera: camera.cameraEnabled , micro: !micro.microMuted