From 1eed0c806d42252e073e7d1a65ace4be19cdcd5a Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 13 Jul 2022 21:29:35 +0200 Subject: [PATCH] Fix crash and audio only layout. Fix waiting room error text position. --- 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 + .../components/conference/ConferenceModel.cpp | 22 ++-- .../Styles/Animations/BusyIndicatorStyle.qml | 2 +- .../Linphone/Account/AccountStatus.qml | 1 + .../Styles/Account/AccountStatusStyle.qml | 1 + .../ui/views/App/Calls/VideoConference.qml | 6 +- .../Calls/VideoConferenceActiveSpeaker.qml | 2 +- .../ui/views/App/Calls/WaitingRoom.qml | 3 +- .../App/Styles/Calls/CallFullscreenStyle.qml | 6 - .../ui/views/App/Styles/Calls/CallStyle.qml | 2 +- .../App/Styles/Calls/VideoConferenceStyle.qml | 6 - .../App/Styles/Calls/WaitingRoomStyle.qml | 109 ------------------ 26 files changed, 99 insertions(+), 136 deletions(-) diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index c8b558500..e42512f34 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -3405,6 +3405,11 @@ Klik her: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 73c737728..f8e8186af 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -3405,6 +3405,11 @@ Klicken Sie hier: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 63585a90f..6fc6ff4d8 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -3428,6 +3428,11 @@ Click here: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. This call is being recorded. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + Waiting for another participant... + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 96c499358..face20bab 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -3405,6 +3405,11 @@ Haga clic aquí: <a href="%1">%1 </a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index aa4e9132d..f8916a777 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -3405,6 +3405,11 @@ Cliquez ici : <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 611f88f30..ce6b366d7 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -3392,6 +3392,11 @@ Kattintson ide: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 1e1577e25..bedb629ac 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -3405,6 +3405,11 @@ Clicca: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index c34f88dc5..36572f45e 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -3392,6 +3392,11 @@ 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index c9e6b6737..f00985cc5 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -3418,6 +3418,11 @@ Spustelėkite čia: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 09bd9e6e0..d3db85dcc 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -3405,6 +3405,11 @@ Clique aqui: <a href="%1">%1 </a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index ab2e3deeb..cd99ce0d8 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -3418,6 +3418,11 @@ 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 9aed2b129..972bdf086 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -3405,6 +3405,11 @@ Klicka här: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 16228920c..07db88764 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -3392,6 +3392,11 @@ Buraya tıklayın: <a href="%1">%1</a> 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 1069bfeb4..e0ec6d81a 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -3418,6 +3418,11 @@ 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index 8efd486f0..029069101 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -3392,6 +3392,11 @@ 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + videoConferenceWaitParticipantMessage + 'Waiting for another participant...' : Waiting message for more participant. + + VideoConferenceFullscreen diff --git a/linphone-app/src/components/conference/ConferenceModel.cpp b/linphone-app/src/components/conference/ConferenceModel.cpp index fb6d94773..c649d6dfb 100644 --- a/linphone-app/src/components/conference/ConferenceModel.cpp +++ b/linphone-app/src/components/conference/ConferenceModel.cpp @@ -71,16 +71,18 @@ ConferenceModel::~ConferenceModel(){ bool ConferenceModel::updateLocalParticipant(){ bool changed = false; - // First try to use findParticipant - auto localParticipant = mConference->findParticipant(mConference->getCall()->getCallLog()->getLocalAddress()); - // Me is not in participants, use Me(). - if( !localParticipant) - localParticipant = mConference->getMe(); - if( localParticipant && (!mLocalParticipant || mLocalParticipant->getParticipant() != localParticipant) ) { - mLocalParticipant = QSharedPointer::create(localParticipant); - qDebug() << "Is Admin: " << localParticipant->isAdmin() << " " << mLocalParticipant->getAdminStatus(); - changed = true; - emit localParticipantChanged(); + if(mConference && mConference->getCall()){ + // First try to use findParticipant + auto localParticipant = mConference->findParticipant(mConference->getCall()->getCallLog()->getLocalAddress()); + // Me is not in participants, use Me(). + if( !localParticipant) + localParticipant = mConference->getMe(); + if( localParticipant && (!mLocalParticipant || mLocalParticipant->getParticipant() != localParticipant) ) { + mLocalParticipant = QSharedPointer::create(localParticipant); + qDebug() << "Is Admin: " << localParticipant->isAdmin() << " " << mLocalParticipant->getAdminStatus(); + changed = true; + emit localParticipantChanged(); + } } return changed; } diff --git a/linphone-app/ui/modules/Common/Styles/Animations/BusyIndicatorStyle.qml b/linphone-app/ui/modules/Common/Styles/Animations/BusyIndicatorStyle.qml index f74733d6a..40b95d07a 100644 --- a/linphone-app/ui/modules/Common/Styles/Animations/BusyIndicatorStyle.qml +++ b/linphone-app/ui/modules/Common/Styles/Animations/BusyIndicatorStyle.qml @@ -5,7 +5,7 @@ import ColorsList 1.0 QtObject { property string sectionName: 'Busy' - property color color: ColorsList.add(sectionName+'_indicator', 'i').color + property color color: ColorsList.add(sectionName+'_indicator', 'q').color property int duration: 1250 property int nSpheres: 8 } diff --git a/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml b/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml index 1fbe5fc83..2de353996 100644 --- a/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml +++ b/linphone-app/ui/modules/Linphone/Account/AccountStatus.qml @@ -52,6 +52,7 @@ Item { BusyIndicator { anchors.fill:parent running: AccountSettingsModel.registrationState === AccountSettingsModel.RegistrationStateInProgress + color: AccountStatusStyle.busyColor } Icon { diff --git a/linphone-app/ui/modules/Linphone/Styles/Account/AccountStatusStyle.qml b/linphone-app/ui/modules/Linphone/Styles/Account/AccountStatusStyle.qml index cdedba019..bd6b9fd35 100644 --- a/linphone-app/ui/modules/Linphone/Styles/Account/AccountStatusStyle.qml +++ b/linphone-app/ui/modules/Linphone/Styles/Account/AccountStatusStyle.qml @@ -10,6 +10,7 @@ QtObject { property string sectionName: 'AccountStatus' property int horizontalSpacing: 8 property int verticalSpacing: 2 + property color busyColor: ColorsList.add(sectionName+'_spinner', 'i').color property QtObject presenceLevel: QtObject { property int bottomMargin: 1 diff --git a/linphone-app/ui/views/App/Calls/VideoConference.qml b/linphone-app/ui/views/App/Calls/VideoConference.qml index dcaea7a75..a5f36db3d 100644 --- a/linphone-app/ui/views/App/Calls/VideoConference.qml +++ b/linphone-app/ui/views/App/Calls/VideoConference.qml @@ -293,8 +293,12 @@ Rectangle { } Text{ Layout.alignment: Qt.AlignCenter + + text: conference.callModel.conferenceVideoLayout == LinphoneEnums.ConferenceLayoutGrid && !conference.callModel.videoEnabled + //: 'Waiting for another participant...' : Waiting message for more participant. + ? qsTr('videoConferenceWaitParticipantMessage') //: 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. - text: qsTr('videoConferenceWaitMessage') + : qsTr('videoConferenceWaitMessage') color: VideoConferenceStyle.buzyColor } } diff --git a/linphone-app/ui/views/App/Calls/VideoConferenceActiveSpeaker.qml b/linphone-app/ui/views/App/Calls/VideoConferenceActiveSpeaker.qml index e19dd8f29..4291cdcc6 100644 --- a/linphone-app/ui/views/App/Calls/VideoConferenceActiveSpeaker.qml +++ b/linphone-app/ui/views/App/Calls/VideoConferenceActiveSpeaker.qml @@ -46,7 +46,7 @@ Item { function clearAll(layoutMode){ if( layoutMode != LinphoneEnums.ConferenceLayoutActiveSpeaker){ - cameraView.cameraEnabled = false + mainItem.cameraEnabled = false miniViews.model = [] } } diff --git a/linphone-app/ui/views/App/Calls/WaitingRoom.qml b/linphone-app/ui/views/App/Calls/WaitingRoom.qml index b85dc6f0d..0703ea2fb 100644 --- a/linphone-app/ui/views/App/Calls/WaitingRoom.qml +++ b/linphone-app/ui/views/App/Calls/WaitingRoom.qml @@ -41,7 +41,7 @@ Rectangle { anchors.fill: parent ColumnLayout{ Layout.alignment: Qt.AlignCenter - Layout.bottomMargin: (mainItem.conferenceInfoModel && mainItem.callModel ? 10 : 40) - (errorArea.visible ? errorArea.height + 10: 0) + Layout.bottomMargin: (mainItem.conferenceInfoModel && mainItem.callModel ? 10 : 40) spacing: 10 BusyIndicator { Layout.alignment: Qt.AlignCenter @@ -103,6 +103,7 @@ Rectangle { Text { id: errorArea Layout.fillWidth: true + Layout.preferredHeight: implicitHeight Layout.bottomMargin: 10 horizontalAlignment: Qt.AlignHCenter verticalAlignment: Qt.AlignVCenter diff --git a/linphone-app/ui/views/App/Styles/Calls/CallFullscreenStyle.qml b/linphone-app/ui/views/App/Styles/Calls/CallFullscreenStyle.qml index 167e430b7..80cb591d0 100644 --- a/linphone-app/ui/views/App/Styles/Calls/CallFullscreenStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/CallFullscreenStyle.qml @@ -60,12 +60,6 @@ QtObject { property int spacing: 10 property int topMargin: 26 - property QtObject busyIndicator: QtObject { - property color color: ColorsList.add(sectionName+'_header_busy', 'g').color - property int height: 30 - property int width: 30 - } - property QtObject contactDescription: QtObject { property int height: 50 property int width: 150 diff --git a/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml b/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml index e46ca6124..1a58459ea 100644 --- a/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/CallStyle.qml @@ -61,7 +61,7 @@ QtObject { property int topMargin: 26 property QtObject busyIndicator: QtObject { - property color color: ColorsList.add(sectionName+'_header_busy', 'g').color + property color color: ColorsList.add(sectionName+'_header_busy', 'q').color property int height: 30 property int width: 30 } diff --git a/linphone-app/ui/views/App/Styles/Calls/VideoConferenceStyle.qml b/linphone-app/ui/views/App/Styles/Calls/VideoConferenceStyle.qml index e3563a675..c6fed70bb 100644 --- a/linphone-app/ui/views/App/Styles/Calls/VideoConferenceStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/VideoConferenceStyle.qml @@ -118,12 +118,6 @@ QtObject { property int spacing: 10 property int topMargin: 26 - property QtObject busyIndicator: QtObject { - property color color: ColorsList.add(sectionName+'_header_busy', 'g').color - property int height: 30 - property int width: 30 - } - property QtObject contactDescription: QtObject { property int height: 50 property int width: 150 diff --git a/linphone-app/ui/views/App/Styles/Calls/WaitingRoomStyle.qml b/linphone-app/ui/views/App/Styles/Calls/WaitingRoomStyle.qml index de3c642e9..aff1cddc4 100644 --- a/linphone-app/ui/views/App/Styles/Calls/WaitingRoomStyle.qml +++ b/linphone-app/ui/views/App/Styles/Calls/WaitingRoomStyle.qml @@ -24,115 +24,6 @@ QtObject { property int displayNamePointSize: Units.dp * 10 property int addressPointSize: Units.dp * 8 } - - - - /* - property QtObject grid: QtObject { - property int spacing: 5 - - property QtObject cell: QtObject { - property int height: 145 - property int spacing: 5 - property int width: 154 - - property QtObject contactDescription: QtObject { - property color color: ColorsList.add(sectionName+'_username', 'q').color - property int pointSize: Units.dp * 12 - property int weight: Font.Bold - } - } - } - property QtObject actionArea: QtObject { - property int height: 100 - property int iconSize: 40 - property int leftButtonsGroupMargin: 50 - property int lowWidth: 650 - property int rightButtonsGroupMargin: 50 - - property QtObject userVideo: QtObject { - property int height: 200 - property int width: 130 - property int heightReference: 1200 // height and width are fixed from these references - property int widthReference: 780 - } - - property QtObject vu: QtObject { - property int spacing: 5 - } - - property QtObject callError: QtObject { - property color color: ColorsList.add(sectionName+'_action_error', 'i').color - property int pointSize: Units.dp * 12 - } - } - - property QtObject container: QtObject { - property int margins: 15 - - property QtObject avatar: QtObject { - property color backgroundColor: ColorsList.add(sectionName+'_container_avatar_bg', 'n').color - property int maxSize: 300 - } - - property QtObject pause: QtObject { - property color color: ColorsList.add(sectionName+'_container_pause', 'g90').color - - property QtObject text: QtObject { - property color color: ColorsList.add(sectionName+'_container_pause_text', 'q').color - property int pointSizeFactor: 5 - } - } - } - - property QtObject header: QtObject { - property int buttonIconSize: 40 - property int iconSize: 16 - property int leftMargin: 20 - property int rightMargin: 20 - property int spacing: 10 - property int topMargin: 26 - - property QtObject busyIndicator: QtObject { - property color color: ColorsList.add(sectionName+'_header_busy', 'g').color - property int height: 30 - property int width: 30 - } - - property QtObject contactDescription: QtObject { - property int height: 50 - property int width: 150 - } - - property QtObject elapsedTime: QtObject { - property color color: ColorsList.add(sectionName+'_header_elapsed_time', 'j').color - property int pointSize: Units.dp * 10 - - property QtObject fullscreen: QtObject { - property int pointSize: Units.dp * 12 - } - } - - property QtObject stats: QtObject { - property int relativeY: 90 - } - } - - property QtObject zrtpArea: QtObject { - property int height: 50 - - property QtObject buttons: QtObject { - property int spacing: 10 - } - - property QtObject text: QtObject { - property color colorA: ColorsList.add(sectionName+'_zrtp_text_a', 'j').color - property color colorB: ColorsList.add(sectionName+'_zrtp_text_b', 'i').color - property int pointSize: Units.dp * 10 - property int wordsSpacing: 5 - } - } - */ property QtObject callError: QtObject { property color color: ColorsList.add(sectionName+'_action_error', 'q').color property int pointSize: Units.dp * 12