From 72bb5ebdc1b2627d7c21cc55539037caa2aad9d1 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Thu, 13 Oct 2022 15:50:38 +0200 Subject: [PATCH] In stickers, display username while being in pause. Fix persistent call view when the call flow has been restarted from SDK (renegociation or other). Fix conference info date time when updating it without entering a new timestamp. Add a confirmation popup and a way to stop the conference creation. Update SDK to fix camera crashes and looping resolutions changes for Windows. --- linphone-app/assets/languages/da.ts | 5 +++ linphone-app/assets/languages/de.ts | 5 +++ linphone-app/assets/languages/en.ts | 5 +++ linphone-app/assets/languages/es.ts | 5 +++ linphone-app/assets/languages/fr_FR.ts | 5 +++ linphone-app/assets/languages/hu.ts | 5 +++ linphone-app/assets/languages/it.ts | 5 +++ linphone-app/assets/languages/ja.ts | 5 +++ linphone-app/assets/languages/lt.ts | 5 +++ linphone-app/assets/languages/pt_BR.ts | 5 +++ linphone-app/assets/languages/ru.ts | 5 +++ linphone-app/assets/languages/sv.ts | 5 +++ linphone-app/assets/languages/tr.ts | 5 +++ linphone-app/assets/languages/uk.ts | 5 +++ linphone-app/assets/languages/zh_CN.ts | 5 +++ .../src/components/calls/CallsListModel.cpp | 41 +++++++++---------- .../ui/modules/Common/Dialog/DialogPlus.qml | 4 +- .../modules/Linphone/Calls/IncallAvatar.qml | 2 +- .../ui/views/App/Dialog/NewConference.qml | 20 +++++++-- linphone-sdk | 2 +- 20 files changed, 116 insertions(+), 28 deletions(-) diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index 8de01b8e7..b76965b8b 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -2041,6 +2041,11 @@ Klik her: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 2cba89438..8102592ad 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -2041,6 +2041,11 @@ Klicken Sie hier: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index ba1d5362d..b8c48b1b7 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -2041,6 +2041,11 @@ Click here: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. Operations in progress, please wait + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + Do you want to close this form ? + Notice diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 50eb9cb82..f3a543a26 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -2041,6 +2041,11 @@ Haga clic aquí: <a href="%1">%1 </a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index dcb0de117..9556ed0fd 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -2041,6 +2041,11 @@ Cliquez ici : <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. Opérations en cours, merci de patienter + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 266825b11..811f9fec3 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -2029,6 +2029,11 @@ Kattintson ide: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 210e540a0..8ebe5ad86 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -2041,6 +2041,11 @@ Clicca: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 7190aff9e..26588c8ca 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -2029,6 +2029,11 @@ 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index 531add7e0..ce51bd3e9 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -2053,6 +2053,11 @@ Spustelėkite čia: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 97c657188..3c3ad948c 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -2041,6 +2041,11 @@ Clique aqui: <a href="%1">%1 </a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index dbfcabc99..25543aed7 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -2053,6 +2053,11 @@ 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 8e407cff7..bb96be16d 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -2041,6 +2041,11 @@ Klicka här: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 2de807e62..4f87c08fe 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -2029,6 +2029,11 @@ Buraya tıklayın: <a href="%1">%1</a> 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 2c1c125f2..95e95e695 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -2053,6 +2053,11 @@ 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index 71c0cbab3..68a8d4e99 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -2029,6 +2029,11 @@ 'Operations in progress, please wait' : Waiting message till the end of operations when creating a conference. + + confirmFormExit + 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + + Notice diff --git a/linphone-app/src/components/calls/CallsListModel.cpp b/linphone-app/src/components/calls/CallsListModel.cpp index 9e894d70d..1155c9e51 100644 --- a/linphone-app/src/components/calls/CallsListModel.cpp +++ b/linphone-app/src/components/calls/CallsListModel.cpp @@ -53,11 +53,8 @@ constexpr int DelayBeforeRemoveCall = 6000; static inline int findCallIndex (QList> &list, const shared_ptr &call) { auto it = find_if(list.begin(), list.end(), [call](QSharedPointer callModel) { return call == callModel.objectCast()->getCall(); -}); - - Q_ASSERT(it != list.end()); - - return int(distance(list.begin(), it)); + }); + return it == list.end() ? -1 : int(distance(list.begin(), it)); } static inline int findCallIndex (QList> &list, const CallModel &callModel) { @@ -474,22 +471,24 @@ void CallsListModel::handleCallStateChanged (const shared_ptr &c // ----------------------------------------------------------------------------- void CallsListModel::addCall (const shared_ptr &call) { - - QSharedPointer callModel = QSharedPointer::create(call); - qInfo() << QStringLiteral("Add call:") << callModel->getFullLocalAddress() << callModel->getFullPeerAddress(); - App::getInstance()->getEngine()->setObjectOwnership(callModel.get(), QQmlEngine::CppOwnership); - - add(callModel); - emit layoutChanged(); - - if (call->getDir() == linphone::Call::Dir::Outgoing) { - QQuickWindow *callsWindow = App::getInstance()->getCallsWindow(); - if (callsWindow) { - if (CoreManager::getInstance()->getSettingsModel()->getKeepCallsWindowInBackground()) { - if (!callsWindow->isVisible()) - callsWindow->showMinimized(); - } else - App::smartShowWindow(callsWindow); + int index = findCallIndex(mList, call); + if( index < 0){ + QSharedPointer callModel = QSharedPointer::create(call); + qInfo() << QStringLiteral("Add call:") << callModel->getFullLocalAddress() << callModel->getFullPeerAddress(); + App::getInstance()->getEngine()->setObjectOwnership(callModel.get(), QQmlEngine::CppOwnership); + + add(callModel); + emit layoutChanged(); + + if (call->getDir() == linphone::Call::Dir::Outgoing) { + QQuickWindow *callsWindow = App::getInstance()->getCallsWindow(); + if (callsWindow) { + if (CoreManager::getInstance()->getSettingsModel()->getKeepCallsWindowInBackground()) { + if (!callsWindow->isVisible()) + callsWindow->showMinimized(); + } else + App::smartShowWindow(callsWindow); + } } } } diff --git a/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml b/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml index f5174cd58..7c93eb1e6 100644 --- a/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml +++ b/linphone-app/ui/modules/Common/Dialog/DialogPlus.qml @@ -11,7 +11,7 @@ import Common.Styles 1.0 Rectangle { id: dialog - property alias buttons: buttons.data // Optionnal. + property alias buttons: buttonsView.data // Optionnal. property alias title : titleBar.text //Optionnal. Show a title bar with a close button. property alias descriptionText: description.text // Optionnal. property int buttonsAlignment : Qt.AlignLeft @@ -101,7 +101,7 @@ Rectangle { } RowLayout { - id: buttons + id: buttonsView Layout.alignment: buttonsAlignment Layout.bottomMargin: DialogStyle.buttons.bottomMargin diff --git a/linphone-app/ui/modules/Linphone/Calls/IncallAvatar.qml b/linphone-app/ui/modules/Linphone/Calls/IncallAvatar.qml index 2706c30ff..239032312 100644 --- a/linphone-app/ui/modules/Linphone/Calls/IncallAvatar.qml +++ b/linphone-app/ui/modules/Linphone/Calls/IncallAvatar.qml @@ -42,7 +42,7 @@ Avatar { return null; } - username: !mainItem.isPaused && _username ? _username : '' + username: _username Text { anchors.fill: parent color: CallStyle.container.pause.text.color diff --git a/linphone-app/ui/views/App/Dialog/NewConference.qml b/linphone-app/ui/views/App/Dialog/NewConference.qml index 281ebdca3..d03a7c316 100644 --- a/linphone-app/ui/views/App/Dialog/NewConference.qml +++ b/linphone-app/ui/views/App/Dialog/NewConference.qml @@ -19,7 +19,11 @@ DialogPlus { id: conferenceManager property bool isNew: !conferenceInfoModel || conferenceInfoModel.uri === '' property ConferenceInfoModel conferenceInfoModel: ConferenceInfoModel{} - onConferenceInfoModelChanged: selectedParticipants.setAddresses(conferenceInfoModel) + onConferenceInfoModelChanged: { + dateField.setDate(conferenceManager.conferenceInfoModel.dateTime); + timeField.setTime(conferenceManager.conferenceInfoModel.dateTime); + selectedParticipants.setAddresses(conferenceInfoModel) + } property bool forceSchedule : false property int creationState: 0// -1=error, 0=Idle, 1=processing, 2=processed @@ -347,7 +351,7 @@ DialogPlus { ComboBox{ id: durationField Layout.preferredWidth: parent.cellWidth; - currentIndex: conferenceManager.conferenceInfoModel && conferenceManager.conferenceInfoModel.duration >= 1800 ? conferenceManager.conferenceInfoModel.duration / 1800 - 1 : 0 + currentIndex: conferenceManager.conferenceInfoModel && conferenceManager.conferenceInfoModel.duration >= 1800 ? conferenceManager.conferenceInfoModel.duration / 1800 - 1 : 1 model: [{text:Utils.formatDuration(30*60), value:30} ,{text:Utils.formatDuration(60*60), value:60} ,{text:Utils.formatDuration(120*60), value:120} @@ -598,10 +602,20 @@ DialogPlus { foregroundItem: Item{ id: busyPanel anchors.fill: parent - visible: conferenceManager.creationState == 1 + visible:conferenceManager.creationState == 1 MouseArea{// Grabber anchors.fill: parent cursorShape: Qt.ArrowCursor + onClicked:{ + window.attachVirtualWindow(Utils.buildCommonDialogUri('ConfirmDialog'), { + //: 'Do you want to close this form ?' : confirmation text for exiting the creatoin form + descriptionText: qsTr('confirmFormExit'), + }, function (status) { + if (status) { + exit(0) + } + }) + } } Rectangle{ anchors.fill: parent diff --git a/linphone-sdk b/linphone-sdk index 016af4af9..1a305de03 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit 016af4af95eb25d6e80380ad76776218b8a42bc0 +Subproject commit 1a305de03be82f27ccd570404963c9a48bc500ab