From 3ee4a72d481f5bf8afc3cf15d3c36f5f503cc22e Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Tue, 16 Jun 2020 10:51:38 +0200 Subject: [PATCH] BugFix: Crash in video settings while in call - Workaround : don't reload video devices if in call - Show a warning message in settings panel - Update english source language --- linphone-app/assets/languages/da.ts | 4 ++++ linphone-app/assets/languages/de.ts | 4 ++++ linphone-app/assets/languages/en.ts | 4 ++++ linphone-app/assets/languages/es.ts | 4 ++++ linphone-app/assets/languages/fr_FR.ts | 4 ++++ linphone-app/assets/languages/hu.ts | 4 ++++ linphone-app/assets/languages/it.ts | 4 ++++ linphone-app/assets/languages/ja.ts | 4 ++++ linphone-app/assets/languages/lt.ts | 4 ++++ linphone-app/assets/languages/pt_BR.ts | 4 ++++ linphone-app/assets/languages/ru.ts | 4 ++++ linphone-app/assets/languages/sv.ts | 4 ++++ linphone-app/assets/languages/tr.ts | 4 ++++ linphone-app/assets/languages/uk.ts | 4 ++++ linphone-app/assets/languages/zh_CN.ts | 4 ++++ .../src/components/settings/SettingsModel.cpp | 3 ++- .../ui/views/App/Settings/SettingsVideo.qml | 22 +++++++++++++++++++ .../Styles/Settings/SettingsWindowStyle.qml | 5 +++++ 18 files changed, 89 insertions(+), 1 deletion(-) diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index b491e309e..019319cb2 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -1715,6 +1715,10 @@ Klik her: <a href="%1">%1</a> showVideoCodecsLabel Vis video codecs + + videoSettingsInCallWarning + Videoopkald i gang: Nogle indstillinger er ikke tilgængelige. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index df8790257..beb3802ee 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -1715,6 +1715,10 @@ Klicken Sie hier: <a href="%1">%1</a> showVideoCodecsLabel Zeige Videocodecs + + videoSettingsInCallWarning + Videoanruf wird ausgeführt: Einige Einstellungen sind nicht verfügbar. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 13a158574..3585a0814 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -1717,6 +1717,10 @@ Click here: <a href="%1">%1</a> showVideoCodecsLabel Show video codecs + + videoSettingsInCallWarning + Video call in progress: some settings are not available. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index babd6108c..49d65902c 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -1715,6 +1715,10 @@ Haga clic aquí: <a href="%1">%1 </a> showVideoCodecsLabel Mostrar códecs de vídeo + + videoSettingsInCallWarning + Videollamada en curso: algunos ajustes no están disponibles. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index b76779c4a..dc90cfbb1 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -1715,6 +1715,10 @@ Cliquez ici : <a href="%1">%1</a> showVideoCodecsLabel Afficher les codecs vidéo + + videoSettingsInCallWarning + Appel vidéo en cours: certains paramètres ne sont pas disponibles. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 6d469f83f..66a03428d 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -1714,6 +1714,10 @@ Kattintson ide: <a href="%1">%1</a> showVideoCodecsLabel Videó kodekek megjelenítése + + videoSettingsInCallWarning + Videohívás folyamatban: egyes beállítások nem állnak rendelkezésre. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 5c90601e1..90e911d82 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -1715,6 +1715,10 @@ Clicca: <a href="%1">%1</a> showVideoCodecsLabel Mostra codec video + + videoSettingsInCallWarning + Videochiamata in corso: alcune impostazioni non sono disponibili. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 6f99081f3..fcc4c6643 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -1715,6 +1715,10 @@ showVideoCodecsLabel ビデオコーデックを表示する + + videoSettingsInCallWarning + ビデオ通話中:一部の設定が使用できません。 + SettingsVideoPreview diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index cdb4633b8..a1bbb04f7 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -1715,6 +1715,10 @@ Spustelėkite čia: <a href="%1">%1</a> showVideoCodecsLabel Rodyti vaizdo kodekus + + videoSettingsInCallWarning + Vyksta vaizdo skambutis: kai kurie nustatymai negalimi. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 58b0a885a..6d207fb46 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -1714,6 +1714,10 @@ Clique aqui: <a href="%1">%1 </a> showVideoCodecsLabel Mostrar codecs de vídeo + + videoSettingsInCallWarning + Chamada de vídeo em andamento: algumas configurações não estão disponíveis. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 9f19bab0c..3be35b04b 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -1715,6 +1715,10 @@ showVideoCodecsLabel Показать Видео кодаки + + videoSettingsInCallWarning + Видеозвонок выполняется: некоторые настройки недоступны. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 1b1dcbc84..ec1e511c4 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -1715,6 +1715,10 @@ Klicka här: <a href="%1">%1</a> showVideoCodecsLabel Visa videokodekar + + videoSettingsInCallWarning + Videosamtal pågår: vissa inställningar är inte tillgängliga. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index ff060c680..c232441ad 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -1715,6 +1715,10 @@ Buraya tıklayın: <a href="%1">%1</a> showVideoCodecsLabel Görüntü çözücüleri göster + + videoSettingsInCallWarning + Görüntülü arama devam ediyor: bazı ayarlar mevcut değil. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index c038e8c58..55f7a701f 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -1715,6 +1715,10 @@ showVideoCodecsLabel Показати Відео кодеки + + videoSettingsInCallWarning + Відеодзвінок в процесі: деякі настройки недоступні. + SettingsVideoPreview diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index cd682baa7..22de801dc 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -1715,6 +1715,10 @@ showVideoCodecsLabel 显示视频编解码器 + + videoSettingsInCallWarning + 视频呼叫正在进行中:某些设置不可用。 + SettingsVideoPreview diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp index 657c58944..e6f727fcb 100644 --- a/linphone-app/src/components/settings/SettingsModel.cpp +++ b/linphone-app/src/components/settings/SettingsModel.cpp @@ -353,7 +353,8 @@ void SettingsModel::setShowAudioCodecs (bool status) { //Force a call on the 'detect' method of all video filters, updating new or removed devices void SettingsModel::accessVideoSettings() { - CoreManager::getInstance()->getCore()->reloadVideoDevices(); + if(!getIsInCall())// TODO : This is a workaround to a crash when reloading video devices while in call. Spotted on Macos. + CoreManager::getInstance()->getCore()->reloadVideoDevices(); emit videoDevicesChanged(getVideoDevices()); } diff --git a/linphone-app/ui/views/App/Settings/SettingsVideo.qml b/linphone-app/ui/views/App/Settings/SettingsVideo.qml index 7197dc23e..56bd288ad 100644 --- a/linphone-app/ui/views/App/Settings/SettingsVideo.qml +++ b/linphone-app/ui/views/App/Settings/SettingsVideo.qml @@ -1,4 +1,5 @@ import QtQuick 2.7 +import QtQuick.Layouts 1.3 import Common 1.0 import Linphone 1.0 @@ -22,6 +23,27 @@ TabContainer { Form { title: qsTr('videoCaptureTitle') width: parent.width + + //Warning if in call + FormLine { + visible: SettingsModel.isInCall + FormGroup { + RowLayout { + spacing: SettingsWindowStyle.video.warningMessage.iconSize + Icon { + icon: 'warning' + iconSize: SettingsWindowStyle.video.warningMessage.iconSize + anchors { + rightMargin: SettingsWindowStyle.video.warningMessage.iconSize + leftMargin: SettingsWindowStyle.video.warningMessage.iconSize + } + } + Text { + text: qsTr('videoSettingsInCallWarning') + } + } + } + } FormLine { FormGroup { diff --git a/linphone-app/ui/views/App/Styles/Settings/SettingsWindowStyle.qml b/linphone-app/ui/views/App/Styles/Settings/SettingsWindowStyle.qml index 628ac7e82..29c15a2bd 100644 --- a/linphone-app/ui/views/App/Styles/Settings/SettingsWindowStyle.qml +++ b/linphone-app/ui/views/App/Styles/Settings/SettingsWindowStyle.qml @@ -25,4 +25,9 @@ QtObject { property int iconSize: 22 property int legendLineWidth: 280 } + property QtObject video: QtObject { + property QtObject warningMessage: QtObject { + property int iconSize: 20 + } + } }