diff --git a/linphone-app/resources.qrc b/linphone-app/resources.qrc
index 480825098..5a27ffd0b 100644
--- a/linphone-app/resources.qrc
+++ b/linphone-app/resources.qrc
@@ -339,6 +339,7 @@
ui/modules/Linphone/History/History.js
ui/modules/Linphone/History/Event.qml
ui/modules/Linphone/Menus/SipAddressesMenu.qml
+ ui/modules/Linphone/Menus/VideoConferenceMenu.qml
ui/modules/Linphone/Misc/MessageCounter.qml
ui/modules/Linphone/Notifications/NotificationBasic.qml
ui/modules/Linphone/Notifications/NotificationNewVersionAvailable.qml
@@ -376,6 +377,7 @@
ui/modules/Linphone/Styles/Dialog/SipAddressDialogStyle.qml
ui/modules/Linphone/Styles/History/HistoryStyle.qml
ui/modules/Linphone/Styles/Menus/SipAddressesMenuStyle.qml
+ ui/modules/Linphone/Styles/Menus/VideoConferenceMenuStyle.qml
ui/modules/Linphone/Styles/Misc/MessageCounterStyle.qml
ui/modules/Linphone/Styles/Notifications/NotificationBasicStyle.qml
ui/modules/Linphone/Styles/Notifications/NotificationReceivedCallStyle.qml
@@ -410,7 +412,6 @@
ui/views/App/Calls/VideoConferenceActiveSpeaker.qml
ui/views/App/Calls/VideoConferenceFullscreen.qml
ui/views/App/Calls/VideoConferenceGrid.qml
- ui/views/App/Calls/VideoConferenceMenu.qml
ui/views/App/Calls/Dialogs/CallSipAddress.qml
ui/views/App/Calls/Dialogs/CallTransfer.qml
ui/views/App/Calls/Dialogs/ConferenceManager.qml
@@ -484,7 +485,6 @@
ui/views/App/Styles/Calls/CallsWindowStyle.qml
ui/views/App/Styles/Calls/ConferenceStyle.qml
ui/views/App/Styles/Calls/VideoConferenceStyle.qml
- ui/views/App/Styles/Calls/VideoConferenceMenuStyle.qml
ui/views/App/Styles/Calls/WaitingRoomStyle.qml
ui/views/App/Styles/Calls/Dialogs/CallSipAddressStyle.qml
ui/views/App/Styles/Calls/Dialogs/CallTransferStyle.qml
diff --git a/linphone-app/src/components/camera/Camera.cpp b/linphone-app/src/components/camera/Camera.cpp
index 02dcd969f..5b0ab8cf9 100644
--- a/linphone-app/src/components/camera/Camera.cpp
+++ b/linphone-app/src/components/camera/Camera.cpp
@@ -132,6 +132,10 @@ void Camera::updateWindowIdLocation(){
}
}
+void Camera::removeParticipantDeviceModel(){
+ mParticipantDeviceModel = nullptr;
+}
+
QQuickFramebufferObject::Renderer *Camera::createRenderer () const {
resetWindowId();
@@ -229,7 +233,10 @@ void Camera::setIsReady(bool status) {
void Camera::setParticipantDeviceModel(ParticipantDeviceModel * participantDeviceModel){
if (mParticipantDeviceModel != participantDeviceModel) {
+ if( mParticipantDeviceModel)
+ disconnect(mParticipantDeviceModel, &QObject::destroyed, this, &Camera::removeParticipantDeviceModel);
mParticipantDeviceModel = participantDeviceModel;
+ connect(mParticipantDeviceModel, &QObject::destroyed, this, &Camera::removeParticipantDeviceModel);
updateWindowIdLocation();
update();
emit participantDeviceModelChanged(mParticipantDeviceModel);
diff --git a/linphone-app/src/components/camera/Camera.hpp b/linphone-app/src/components/camera/Camera.hpp
index 6b0d79542..ed5631ec6 100644
--- a/linphone-app/src/components/camera/Camera.hpp
+++ b/linphone-app/src/components/camera/Camera.hpp
@@ -89,6 +89,7 @@ private:
void activatePreview();
void deactivatePreview();
void updateWindowIdLocation();
+ void removeParticipantDeviceModel();
bool mIsPreview = false;
bool mIsReady = false;
diff --git a/linphone-app/src/components/participant-imdn/ParticipantImdnStateListModel.cpp b/linphone-app/src/components/participant-imdn/ParticipantImdnStateListModel.cpp
index 24a169cf1..1a3009be3 100644
--- a/linphone-app/src/components/participant-imdn/ParticipantImdnStateListModel.cpp
+++ b/linphone-app/src/components/participant-imdn/ParticipantImdnStateListModel.cpp
@@ -37,6 +37,11 @@ ParticipantImdnStateListModel::ParticipantImdnStateListModel (std::shared_ptr
> imdns = message->getParticipantsByImdnState(states[i]);
for(auto imdn : imdns){
diff --git a/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml b/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml
index 8600922f9..17551010d 100644
--- a/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml
+++ b/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml
@@ -16,9 +16,11 @@ Rectangle {
property alias descriptionText: description.text // Optionnal.
property int buttonsAlignment : Qt.AlignLeft
property bool flat : false
+
property bool showMargins: !flat
property bool expandHeight: flat
property alias showCloseCross : titleBar.showCloseCross
+ property alias showTitleBar: titleBar.showBar
property int buttonsLeftMargin :(buttonsAlignment & Qt.AlignLeft )== Qt.AlignLeft
? DialogStyle.buttons.leftMargin
@@ -91,6 +93,7 @@ Rectangle {
Layout.fillHeight: (expandHeight ? true : !dialog.contentIsEmpty)
Layout.fillWidth: true
+ Layout.topMargin: (showMargins ? DialogStyle.content.topMargin : 0)
Layout.leftMargin: (showMargins ? DialogStyle.content.leftMargin : 0)
Layout.rightMargin: (showMargins ? DialogStyle.content.rightMargin : 0)
}
diff --git a/linphone-app/ui/modules/Common/Dialog/DialogTitle.qml b/linphone-app/ui/modules/Common/Dialog/DialogTitle.qml
index f7d253785..48e751f97 100644
--- a/linphone-app/ui/modules/Common/Dialog/DialogTitle.qml
+++ b/linphone-app/ui/modules/Common/Dialog/DialogTitle.qml
@@ -19,7 +19,7 @@ Item {
property bool flat: false
signal close()
- height: showBar || showCloseCross ? (flat ? 60 : 30) : 0
+ height: showBar || showCloseCross ? (flat && text != '' ? 60 : 30) : 0
Rectangle{
anchors.fill:parent
@@ -27,7 +27,7 @@ Item {
GradientStop { position: 0.0; color: DialogStyle.title.lowGradient }
GradientStop { position: 1.0; color: DialogStyle.title.highGradient }
}
- visible:showBar && !flat
+ visible: showBar && !flat
}
Text {
id: title
diff --git a/linphone-app/ui/modules/Common/Styles/Dialog/DialogStyle.qml b/linphone-app/ui/modules/Common/Styles/Dialog/DialogStyle.qml
index b36ccb900..86795159e 100644
--- a/linphone-app/ui/modules/Common/Styles/Dialog/DialogStyle.qml
+++ b/linphone-app/ui/modules/Common/Styles/Dialog/DialogStyle.qml
@@ -31,6 +31,7 @@ QtObject {
property QtObject content: QtObject {
property int leftMargin: 25
property int rightMargin: 25
+ property int topMargin: 25
}
property QtObject description: QtObject {
diff --git a/linphone-app/ui/modules/Linphone/Chat/ChatCalendarMessage.qml b/linphone-app/ui/modules/Linphone/Chat/ChatCalendarMessage.qml
index f86c78e63..ad7e1bb11 100644
--- a/linphone-app/ui/modules/Linphone/Chat/ChatCalendarMessage.qml
+++ b/linphone-app/ui/modules/Linphone/Chat/ChatCalendarMessage.qml
@@ -259,6 +259,11 @@ Loader{
isCustom: true
colorSet: ChatCalendarMessageStyle.editButton
backgroundRadius: width/2
+ onClicked: {
+ window.detachVirtualWindow()
+ window.attachVirtualWindow(Qt.resolvedUrl('../../../views/App/Main/Dialogs/NewConference.qml')
+ ,{conferenceInfoModel: mainItem.conferenceInfoModel})
+ }
}
ActionButton{
isCustom: true
diff --git a/linphone-app/ui/views/App/Calls/VideoConferenceMenu.qml b/linphone-app/ui/modules/Linphone/Menus/VideoConferenceMenu.qml
similarity index 95%
rename from linphone-app/ui/views/App/Calls/VideoConferenceMenu.qml
rename to linphone-app/ui/modules/Linphone/Menus/VideoConferenceMenu.qml
index c8d6eb9b0..bcd2943b5 100644
--- a/linphone-app/ui/views/App/Calls/VideoConferenceMenu.qml
+++ b/linphone-app/ui/modules/Linphone/Menus/VideoConferenceMenu.qml
@@ -6,6 +6,7 @@ import QtQuick.Controls 2.12
import Common 1.0
import Common.Styles 1.0
import Linphone 1.0
+import Linphone.Styles 1.0
import LinphoneUtils 1.0
import LinphoneEnums 1.0
@@ -14,11 +15,6 @@ import UtilsCpp 1.0
import App.Styles 1.0
-
-// Temp
-import 'Incall.js' as Logic
-import 'qrc:/ui/scripts/Utils/utils.js' as Utils
-
// =============================================================================
Rectangle{
diff --git a/linphone-app/ui/views/App/Styles/Calls/VideoConferenceMenuStyle.qml b/linphone-app/ui/modules/Linphone/Styles/Menus/VideoConferenceMenuStyle.qml
similarity index 100%
rename from linphone-app/ui/views/App/Styles/Calls/VideoConferenceMenuStyle.qml
rename to linphone-app/ui/modules/Linphone/Styles/Menus/VideoConferenceMenuStyle.qml
diff --git a/linphone-app/ui/modules/Linphone/Styles/qmldir b/linphone-app/ui/modules/Linphone/Styles/qmldir
index 8697c1dfe..57d355143 100644
--- a/linphone-app/ui/modules/Linphone/Styles/qmldir
+++ b/linphone-app/ui/modules/Linphone/Styles/qmldir
@@ -38,6 +38,7 @@ singleton SipAddressDialogStyle 1.0 Dialog/SipAddressDialogStyle.
singleton HistoryStyle 1.0 History/HistoryStyle.qml
singleton SipAddressesMenuStyle 1.0 Menus/SipAddressesMenuStyle.qml
+singleton VideoConferenceMenuStyle 1.0 Menus/VideoConferenceMenuStyle.qml
singleton MessageCounterStyle 1.0 Misc/MessageCounterStyle.qml
diff --git a/linphone-app/ui/modules/Linphone/qmldir b/linphone-app/ui/modules/Linphone/qmldir
index 23ff039da..3916fe6c8 100644
--- a/linphone-app/ui/modules/Linphone/qmldir
+++ b/linphone-app/ui/modules/Linphone/qmldir
@@ -41,6 +41,7 @@ FileView 1.0 File/FileView.qml
History 1.0 History/History.qml
SipAddressesMenu 1.0 Menus/SipAddressesMenu.qml
+VideoConferenceMenu 1.0 Menus/VideoConferenceMenu.qml
MessageCounter 1.0 Misc/MessageCounter.qml
diff --git a/linphone-app/ui/views/App/Calls/Dialogs/ConferenceManager.qml b/linphone-app/ui/views/App/Calls/Dialogs/ConferenceManager.qml
index dd1b603b7..e8602113c 100644
--- a/linphone-app/ui/views/App/Calls/Dialogs/ConferenceManager.qml
+++ b/linphone-app/ui/views/App/Calls/Dialogs/ConferenceManager.qml
@@ -34,7 +34,7 @@ DialogPlus {
}
}
]
-
+
buttonsAlignment: Qt.AlignCenter
descriptionText: qsTr('conferenceManagerDescription')
diff --git a/linphone-app/ui/views/App/Main/Dialogs/About.qml b/linphone-app/ui/views/App/Main/Dialogs/About.qml
index bd00b4d76..da45c7e0a 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/About.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/About.qml
@@ -20,7 +20,8 @@ DialogPlus {
buttonsAlignment: Qt.AlignCenter
objectName: '__about'
-
+ flat: true
+ showMargins: true
height: AboutStyle.height + 30
width: AboutStyle.width
diff --git a/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml b/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml
index a7853a9b9..bdb0ded52 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml
@@ -44,7 +44,6 @@ DialogPlus {
}
}
]
- flat : true
showCloseCross: true
//: "Group information" : Popup title.
//~ This popup display data about the current chat room
diff --git a/linphone-app/ui/views/App/Main/Dialogs/InfoEncryption.qml b/linphone-app/ui/views/App/Main/Dialogs/InfoEncryption.qml
index c3d8c0070..a6730cab5 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/InfoEncryption.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/InfoEncryption.qml
@@ -39,7 +39,6 @@ DialogPlus {
}
}
]
- flat : true
//: 'End-to-end encrypted' Popup title about encryption information.
title: qsTr('infoEncryptionTitle')
showCloseCross:false
diff --git a/linphone-app/ui/views/App/Main/Dialogs/ManageAccounts.qml b/linphone-app/ui/views/App/Main/Dialogs/ManageAccounts.qml
index 116b096bb..d7d5c026d 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/ManageAccounts.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/ManageAccounts.qml
@@ -21,7 +21,8 @@ DialogPlus {
buttonsAlignment: Qt.AlignCenter
objectName: '__manageAccounts'
-
+ flat: true
+ showMargins: true
height: SettingsModel.rlsUriEnabled ? ManageAccountsStyle.height : ManageAccountsStyle.heightWithoutPresence
width: ManageAccountsStyle.width
diff --git a/linphone-app/ui/views/App/Main/Dialogs/NewConference.qml b/linphone-app/ui/views/App/Main/Dialogs/NewConference.qml
index 5562d143c..9262736df 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/NewConference.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/NewConference.qml
@@ -19,6 +19,10 @@ import 'qrc:/ui/scripts/Utils/utils.js' as Utils
DialogPlus {
id: conferenceManager
property ConferenceInfoModel conferenceInfoModel: ConferenceInfoModel{
+ property bool isNew: true
+ }
+ Connections{
+ target: conferenceInfoModel
onConferenceCreated: {
console.log("Conference has been created.")
creationStatus.icon = 'led_green'
@@ -103,7 +107,7 @@ DialogPlus {
TextButtonB {
enabled: selectedParticipants.count >= conferenceManager.minParticipants && subject.text != '' && AccountSettingsModel.conferenceURI != ''
//: 'Launch' : Start button
- text: qsTr('startButton')
+ text: conferenceInfoModel.isNew ? qsTr('startButton') : 'Mettre à jour'
capitalization: Font.AllUppercase
function getInviteMode(){
@@ -162,7 +166,7 @@ DialogPlus {
buttonsAlignment: Qt.AlignRight
buttonsLeftMargin: 15
//: 'Start a video conference' : Title of a popup about creation of a video conference
- title:qsTr('newConferenceTitle')
+ title: conferenceInfoModel.isNew ? qsTr('newConferenceTitle') : 'Changer la conférence'
height: window.height - 100
width: window.width - 100
diff --git a/linphone-app/ui/views/App/Main/Dialogs/ParticipantsDevices.qml b/linphone-app/ui/views/App/Main/Dialogs/ParticipantsDevices.qml
index 653f32015..35a416d06 100644
--- a/linphone-app/ui/views/App/Main/Dialogs/ParticipantsDevices.qml
+++ b/linphone-app/ui/views/App/Main/Dialogs/ParticipantsDevices.qml
@@ -19,7 +19,6 @@ import '../Conversation.js' as Logic
DialogPlus {
id:dialog
buttons: []
- flat : true
//: 'Conversation's devices' : Title of window that show all devices
title: qsTr('conversationDevicesTitle')
showCloseCross:true
diff --git a/linphone-app/ui/views/App/Settings/Dialogs/SettingsSipAccountsEdit.qml b/linphone-app/ui/views/App/Settings/Dialogs/SettingsSipAccountsEdit.qml
index b1a8e51a2..f6b7ff0e5 100644
--- a/linphone-app/ui/views/App/Settings/Dialogs/SettingsSipAccountsEdit.qml
+++ b/linphone-app/ui/views/App/Settings/Dialogs/SettingsSipAccountsEdit.qml
@@ -19,6 +19,9 @@ DialogPlus {
property bool _conferenceUriOk: true
property bool _videoConferenceUriOk: true
+ flat: true
+ showMargins: true
+
buttons: [
TextButtonA {
text: qsTr('cancel')
diff --git a/linphone-app/ui/views/App/Settings/Dialogs/SettingsVideoPreview.qml b/linphone-app/ui/views/App/Settings/Dialogs/SettingsVideoPreview.qml
index c27c3451d..f9121d593 100644
--- a/linphone-app/ui/views/App/Settings/Dialogs/SettingsVideoPreview.qml
+++ b/linphone-app/ui/views/App/Settings/Dialogs/SettingsVideoPreview.qml
@@ -20,6 +20,8 @@ DialogPlus {
]
buttonsAlignment: Qt.AlignCenter
+ flat: true
+ showMargins: true
height: SettingsVideoPreviewStyle.height
width: SettingsVideoPreviewStyle.width
@@ -34,44 +36,4 @@ DialogPlus {
showCloseButton: false
}
}
-
-
- /*
- Loader{
- id: previewLoader
- anchors.fill: parent
- sourceComponent: Item{
- anchors.fill: parent
- Rectangle{
- id: showArea
- anchors.fill: parent
- radius: 10
- visible:false
- color: 'red'
- }
- CameraPreview {
- id: camera
- anchors.fill: parent
- onRequestNewRenderer: {previewLoader.active = false;previewLoader.active = true}
- visible: false
- }
-
- OpacityMask{
- anchors.fill: parent
- source: camera
- maskSource: showArea
- transform: Matrix4x4 {// 180 rotation + mirror
- matrix: Qt.matrix4x4(-Math.cos(Math.PI), -Math.sin(Math.PI), 0, 0,
- Math.sin(Math.PI), Math.cos(Math.PI), 0, camera.height,
- 0, 0, 1, 0,
- 0, 0, 0, 1)
- }
- }
- }
- active: true
- onActiveChanged: {
- console.log("Active changed : " +active)
- if(!active) active = true
- }
- }*/
}
diff --git a/linphone-app/ui/views/App/Styles/qmldir b/linphone-app/ui/views/App/Styles/qmldir
index 6f9a447b5..0862d1391 100644
--- a/linphone-app/ui/views/App/Styles/qmldir
+++ b/linphone-app/ui/views/App/Styles/qmldir
@@ -12,7 +12,6 @@ singleton CallsWindowStyle 1.0 Calls/CallsWindowSt
singleton WaitingRoomStyle 1.0 Calls/WaitingRoomStyle.qml
singleton ConferenceStyle 1.0 Calls/ConferenceStyle.qml
singleton VideoConferenceStyle 1.0 Calls/VideoConferenceStyle.qml
-singleton VideoConferenceMenuStyle 1.0 Calls/VideoConferenceMenuStyle.qml
singleton CallSipAddressStyle 1.0 Calls/Dialogs/CallSipAddressStyle.qml
singleton CallTransferStyle 1.0 Calls/Dialogs/CallTransferStyle.qml
diff --git a/linphone-sdk b/linphone-sdk
index 438e41d95..9c69668a4 160000
--- a/linphone-sdk
+++ b/linphone-sdk
@@ -1 +1 @@
-Subproject commit 438e41d95550c5fb9dc1bb7385cafcd323fd0698
+Subproject commit 9c69668a42189b54530a83b9263cfa2ad4149cf9