From 197fd62f94c2e5c334baeabd4c5223eab9b2e8e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Wed, 14 Apr 2021 17:02:09 -0400 Subject: [PATCH] conference: fix show minimize button Change-Id: I104215284272b4d1fdec38b6d715f92184b3c711 GitLab: #367 --- src/mainview/components/CallOverlay.qml | 13 ++----------- src/mainview/components/ParticipantOverlay.qml | 7 ++++--- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/mainview/components/CallOverlay.qml b/src/mainview/components/CallOverlay.qml index 3d42c0723..1a01bfc09 100644 --- a/src/mainview/components/CallOverlay.qml +++ b/src/mainview/components/CallOverlay.qml @@ -87,12 +87,6 @@ Rectangle { || pH < (distantRenderer.height - distantRenderer.getYOffset() * 2 - 1)) } - // returns true if participant takes renderer's width - function showMinimize(pX, pW) { - return (pX - distantRenderer.getXOffset() === 0 - && pW >= distantRenderer.width - distantRenderer.getXOffset() * 2 - 1) - } - function handleParticipantsInfo(infos) { // TODO: in the future the conference layout should be entirely managed by the client // Hack: truncate and ceil participant's overlay position and size to correct @@ -132,11 +126,9 @@ Rectangle { participantOverlays[p].y, participantOverlays[p].width, participantOverlays[p].height) - showMin = showMinimize(participantOverlays[p].x, - participantOverlays[p].width) participantOverlays[p].setMenu(participant.uri, participant.bestName, - participant.isLocal, showMax, showMin) + participant.isLocal, participant.active, showMax) if (participant.videoMuted) participantOverlays[p].setAvatar(participant.avatar) else @@ -177,10 +169,9 @@ Rectangle { } showMax = showMaximize(hover.x, hover.y, hover.width, hover.height) - showMin = showMinimize(hover.x, hover.width) hover.setMenu(infos[infoVariant].uri, infos[infoVariant].bestName, - infos[infoVariant].isLocal, showMax, showMin) + infos[infoVariant].isLocal, infos[infoVariant].active, showMax) if (infos[infoVariant].videoMuted) hover.setAvatar(infos[infoVariant].avatar) else diff --git a/src/mainview/components/ParticipantOverlay.qml b/src/mainview/components/ParticipantOverlay.qml index f40e4ce18..23739d725 100644 --- a/src/mainview/components/ParticipantOverlay.qml +++ b/src/mainview/components/ParticipantOverlay.qml @@ -42,10 +42,10 @@ Rectangle { arg(shapeWidth) property string uri: overlayMenu.uri + property bool participantIsActive: false property bool participantIsHost: false property bool participantIsModerator: false property bool participantIsMuted: false - property bool participantIsLocalMuted: false property bool participantIsModeratorMuted: false property bool participantMenuActive: false @@ -59,7 +59,7 @@ Rectangle { } } - function setMenu(newUri, bestName, isLocal, showMax, showMin) { + function setMenu(newUri, bestName, isLocal, isActive, showMax) { overlayMenu.uri = newUri overlayMenu.bestName = bestName @@ -68,6 +68,7 @@ Rectangle { var isModerator = CallAdapter.isCurrentModerator() participantIsHost = CallAdapter.participantIsHost(overlayMenu.uri) participantIsModerator = CallAdapter.isModerator(overlayMenu.uri) + participantIsActive = isActive overlayMenu.showSetModerator = isHost && !isLocal && !participantIsModerator overlayMenu.showUnsetModerator = isHost && !isLocal && participantIsModerator @@ -82,7 +83,7 @@ Rectangle { overlayMenu.showModeratorMute = isModerator && !isModeratorMuted overlayMenu.showModeratorUnmute = isModerator && isModeratorMuted overlayMenu.showMaximize = isModerator && showMax - overlayMenu.showMinimize = isModerator && showMin + overlayMenu.showMinimize = isModerator && participantIsActive overlayMenu.showHangup = isModerator && !isLocal && !participantIsHost } -- GitLab