diff --git a/Linphone/core/conference/ConferenceCore.cpp b/Linphone/core/conference/ConferenceCore.cpp index 624715fee..1b4ac28c4 100644 --- a/Linphone/core/conference/ConferenceCore.cpp +++ b/Linphone/core/conference/ConferenceCore.cpp @@ -48,6 +48,10 @@ ConferenceCore::ConferenceCore(const std::shared_ptr &conf mIsScreenSharingEnabled = mConferenceModel->isScreenSharingEnabled(); mIsRecording = conference->isRecording(); auto me = conference->getMe(); + auto confAddress = conference->getConferenceAddress()->clone(); + if (confAddress) { + mConfUri = Utils::coreStringToAppString(confAddress->asStringUriOnly()); + } if (me) { mMe = ParticipantCore::create(me); } @@ -75,7 +79,14 @@ void ConferenceCore::setSelf(QSharedPointer me) { if (newState == linphone::Conference::State::Created) { if (auto participantDevice = conference->getActiveSpeakerParticipantDevice()) { auto device = ParticipantDeviceCore::create(participantDevice); - mConferenceModelConnection->invokeToCore([this, device]() { setActiveSpeakerDevice(device); }); + QString address; + auto confAddress = conference->getConferenceAddress(); + if (confAddress) address = Utils::coreStringToAppString(confAddress->asStringUriOnly()); + mConferenceModelConnection->invokeToCore([this, device, address]() { + setActiveSpeakerDevice(device); + mConfUri = address; + emit conferenceUriChanged(); + }); } else if (conference->getParticipantDeviceList().size() > 1) { for (auto &device : conference->getParticipantDeviceList()) { if (!ToolModel::isMe(device->getAddress())) { diff --git a/Linphone/core/conference/ConferenceCore.hpp b/Linphone/core/conference/ConferenceCore.hpp index 51e636c1c..25d93fe47 100644 --- a/Linphone/core/conference/ConferenceCore.hpp +++ b/Linphone/core/conference/ConferenceCore.hpp @@ -43,6 +43,7 @@ public: Q_PROPERTY(bool isRecording READ isRecording WRITE setRecording NOTIFY isRecordingChanged) Q_PROPERTY(QString subject READ getSubject WRITE setSubject NOTIFY subjectChanged) + Q_PROPERTY(QString uri MEMBER mConfUri NOTIFY conferenceUriChanged) Q_PROPERTY(bool isLocalScreenSharing MEMBER mIsLocalScreenSharing WRITE setIsLocalScreenSharing NOTIFY isLocalScreenSharingChanged) Q_PROPERTY(bool isScreenSharingEnabled MEMBER mIsScreenSharingEnabled WRITE setIsScreenSharingEnabled NOTIFY @@ -92,6 +93,7 @@ signals: void activeSpeakerDeviceChanged(); void subjectChanged(); void isRecordingChanged(); + void conferenceUriChanged(); void lToggleScreenSharing(); @@ -107,6 +109,7 @@ private: bool mIsLocalScreenSharing = false; bool mIsScreenSharingEnabled = false; QString mSubject; + QString mConfUri; QDateTime mStartDate = QDateTime::currentDateTime(); DECLARE_ABSTRACT_OBJECT diff --git a/Linphone/view/Control/Container/Call/CallLayout.qml b/Linphone/view/Control/Container/Call/CallLayout.qml index 9fbc17750..f2ff581de 100644 --- a/Linphone/view/Control/Container/Call/CallLayout.qml +++ b/Linphone/view/Control/Container/Call/CallLayout.qml @@ -112,7 +112,7 @@ Item { textColor: DefaultStyle.main2_400 onClicked: { if (mainItem.conference) { - UtilsCpp.copyToClipboard(mainItem.call.core.remoteAddress) + UtilsCpp.copyToClipboard(mainItem.conference.core.uri) showInformationPopup(qsTr("copied"), //: Le lien de la réunion a été copié dans le presse-papier qsTr("information_popup_meeting_address_copied_to_clipboard"), true) diff --git a/Linphone/view/Page/Layout/Chat/ManageParticipants.qml b/Linphone/view/Page/Layout/Chat/ManageParticipants.qml index 7782f3658..ea00dd505 100644 --- a/Linphone/view/Page/Layout/Chat/ManageParticipants.qml +++ b/Linphone/view/Page/Layout/Chat/ManageParticipants.qml @@ -50,7 +50,6 @@ Rectangle { } AddParticipantsForm { id: manageParticipantsLayout - visible: manageParticipants Layout.fillWidth: true Layout.fillHeight: true Layout.topMargin: Math.round(9 * DefaultStyle.dp) diff --git a/Linphone/view/Page/Window/Call/CallsWindow.qml b/Linphone/view/Page/Window/Call/CallsWindow.qml index 73130ebad..fc5fd16b4 100644 --- a/Linphone/view/Page/Window/Call/CallsWindow.qml +++ b/Linphone/view/Page/Window/Call/CallsWindow.qml @@ -391,8 +391,7 @@ AbstractWindow { color: DefaultStyle.grey_0 } Text { - text: mainWindow.call ? UtilsCpp.formatElapsedTime( - mainWindow.call.core.duration) : "" + text: mainWindow.call ? UtilsCpp.formatElapsedTime(mainWindow.call.core.duration) : "" color: DefaultStyle.grey_0 font { pixelSize: Typography.h3.pixelSize @@ -406,8 +405,7 @@ AbstractWindow { Text { Layout.leftMargin: Math.round(14 * DefaultStyle.dp) id: conferenceDate - text: mainWindow.conferenceInfo ? mainWindow.conferenceInfo.core.getStartEndDateString( - ) : "" + text: mainWindow.conferenceInfo ? mainWindow.conferenceInfo.core.getStartEndDateString() : "" color: DefaultStyle.grey_0 font { pixelSize: Typography.p1.pixelSize @@ -950,7 +948,7 @@ AbstractWindow { //: Partager le lien de la réunion text: qsTr("conference_share_link_title") onClicked: { - UtilsCpp.copyToClipboard(mainWindow.call.core.remoteAddress) + UtilsCpp.copyToClipboard(mainWindow.conference ? mainWindow.conference.core.uri : mainWindow.call.core.remoteAddress) //: Copié showInformationPopup(qsTr("copied"), //: Le lien de la réunion a été copié dans le presse-papier