mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-24 15:18:07 +00:00
fix account list singleton fix magic search list thread connection fix allow calling a connected account fix magic search flags fix crash on close settings destruction magic search thread meeeting fix time zone rename settingscore remove settings from notifier fix zrtp appearance received call remove deprecated function; TODO : send invitations when sdk updated
53 lines
2.2 KiB
QML
53 lines
2.2 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQml.Models
|
|
|
|
import Linphone
|
|
import LinphoneAccountsCpp
|
|
|
|
// =============================================================================
|
|
|
|
Mosaic {
|
|
id: grid
|
|
property alias call: allDevices.currentCall
|
|
property bool videoEnabled: true
|
|
property int participantCount: gridModel.count
|
|
|
|
margins: 0
|
|
// On grid view, we limit the quality if there are enough participants// The vga mode has been activated from the factory rc
|
|
//onParticipantCountChanged: participantCount > ConstantsCpp.maxMosaicParticipants ? SettingsModel.setLimitedMosaicQuality() : SettingsModel.setHighMosaicQuality()
|
|
delegateModel: DelegateModel{
|
|
id: gridModel
|
|
property ParticipantDeviceProxy participantDevices : ParticipantDeviceProxy {
|
|
id: allDevices
|
|
qmlName: "G"
|
|
Component.onCompleted: console.log("Loaded : " +allDevices + " = " +allDevices.count)
|
|
}
|
|
property AccountProxy accounts: AccountProxy {id: accountProxy
|
|
}
|
|
model: grid.call && grid.call.core.isConference ? participantDevices: [0,1]
|
|
delegate: Item{
|
|
id: avatarCell
|
|
property ParticipantDeviceGui currentDevice: index >= 0 && grid.call && grid.call.core.isConference ? $modelData : null
|
|
onCurrentDeviceChanged: {
|
|
if(index < 0) cameraView.enabled = false // this is a delegate destruction. We need to stop camera before Qt change its currentDevice (and then, let CameraView to delete wrong renderer)
|
|
}
|
|
|
|
height: grid.cellHeight - 10 * DefaultStyle.dp
|
|
width: grid.cellWidth - 10 * DefaultStyle.dp
|
|
Sticker {
|
|
id: cameraView
|
|
previewEnabled: index == 0
|
|
visible: mainItem.callState != LinphoneEnums.CallState.End && mainItem.callState != LinphoneEnums.CallState.Released
|
|
anchors.fill: parent
|
|
qmlName: 'G_'+index
|
|
call: grid.call && !grid.call.core.isConference ? grid.call : null
|
|
account: index == 0 ? accountProxy.findAccountByAddress(mainItem.localAddress) : null
|
|
displayAll: false
|
|
displayPresence: false
|
|
participantDevice: avatarCell.currentDevice
|
|
Component.onCompleted: console.log(qmlName + " is " +(call ? call.core.peerAddress : currentDevice ? currentDevice.core.address : 'addr_NotDefined'))
|
|
}
|
|
}
|
|
}
|
|
}
|