linphone-desktop/linphone-app/ui/modules/Linphone/Sticker/AvatarSticker.qml
Julien Wadel 6325f6885c - Update to new API on participant joined/left.
- Move active speaker managment to list instead of proxy (to be next to the new API state changes).
- Update participants on conference created event to avoid losing me and other devices (SDK callbakcs are not usable before create event).
- Fix selected active speaker when being in conference without participants.
- Fix active speaker on new/left participants.
- Protect mosaic transitions from deletion.
- Username selection from IncallAvatar.
- Deletion protection on camera when changing layouts by introducing a minor delay.
- Shutdown preview when going out from waiting room.
- Update design of waiting room.
- Change flipping transition to opacity.
- Update SDK (fix the camera reset of Active speaker when new participant)
- Fix blanks lines in chat menu.
2022-07-08 22:36:47 +02:00

66 lines
1.9 KiB
QML

import QtQuick 2.7
import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.12
import App.Styles 1.0
import Common 1.0
import Common.Styles 1.0
import Linphone 1.0
import Linphone.Styles 1.0
import 'qrc:/ui/scripts/Utils/utils.js' as Utils
// =============================================================================
DecorationSticker {
id:mainItem
property ParticipantDeviceModel currentDevice
property CallModel callModel
property bool isPaused
property bool showCloseButton: false
property bool showActiveSpeakerOverlay: true
property real avatarRatio : 2/3
property color color : AvatarStickerStyle.stickerBackgroundColor
property alias image: avatar.image
property alias avatarBackgroundColor: avatar.backgroundColor
property alias avatarUsername: avatar.username
property alias conferenceInfoModel: avatar.conferenceInfoModel
property alias isPreview: avatar.isPreview
property bool showAvatarBorder: false
property alias showCustomButton: mainItem._showCustomButton
property alias customButtonToggled: mainItem._customButtonToggled
property alias customButtonColorSet: mainItem._customButtonColorSet
_currentDevice: currentDevice
_callModel: callModel
_isPaused: isPaused
_isPreview: isPreview
_showCloseButton: showCloseButton
_showActiveSpeakerOverlay: showActiveSpeakerOverlay
username: avatarUsername
clip:false
radius: AvatarStickerStyle.radius
_content: Rectangle{
anchors.fill: parent
color: mainItem.color
radius: mainItem.radius
border.color: '#40000000'
border.width: mainItem.showAvatarBorder && !mainItem.speakingOverlayDisplayed? 1 : 0
IncallAvatar {
id: avatar
anchors.centerIn: parent
participantDeviceModel: mainItem.currentDevice
call: participantDeviceModel ? undefined : mainItem.callModel
height: Utils.computeAvatarSize(mainItem, mainItem.width, avatarRatio)
width: height
backgroundColor: AvatarStickerStyle.inBackgroundColor
}
}
}