diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index bb4a8dc7e..f3fa295d6 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -3428,6 +3428,11 @@ Klik her: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 096557f01..49ba06045 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -3428,6 +3428,11 @@ Klicken Sie hier: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 1d297d4d8..1ff07611f 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -3451,6 +3451,11 @@ Click here: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. Video conference is not ready. Please Wait… + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + This call is being recorded. + VideoConferenceMenu diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 21ec7aeac..094c8e46e 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -3428,6 +3428,11 @@ Haga clic aquí: <a href="%1">%1 </a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 83c6cd4ed..2112df795 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -3428,6 +3428,11 @@ Cliquez ici : <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 8c916a95e..9430f6ce4 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -3415,6 +3415,11 @@ Kattintson ide: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 8f20ac3f3..f0bdb4d8a 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -3428,6 +3428,11 @@ Clicca: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 602281aec..182554278 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -3415,6 +3415,11 @@ 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index 7b02dc9d0..67f017010 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -3441,6 +3441,11 @@ Spustelėkite čia: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index b1d02e4d0..c8aa25f20 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -3428,6 +3428,11 @@ Clique aqui: <a href="%1">%1 </a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index f9b28d2c6..bf5b3900c 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -3441,6 +3441,11 @@ 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. Видеоконференция не готова. Пожалуйста, подождите… + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index e08894551..59fa0939d 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -3428,6 +3428,11 @@ Klicka här: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 6e02acfc3..e7b1cea24 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -3415,6 +3415,11 @@ Buraya tıklayın: <a href="%1">%1</a> 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index d3d8c13aa..703a87195 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -3441,6 +3441,11 @@ 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index d0343f75f..005eec84c 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -3415,6 +3415,11 @@ 'Video conference is not ready. Please Wait...' : Waiting message for starting conference. + + callWarningRecord + 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + + VideoConferenceMenu diff --git a/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml b/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml index 99b71b66a..b6a16db44 100644 --- a/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml +++ b/linphone-app/ui/views/App/Calls/VideoConferenceFullscreen.qml @@ -154,6 +154,40 @@ Window { colorSet: VideoConferenceStyle.buttons.dialpad onClicked: telKeypad.visible = !telKeypad.visible } + ActionButton { + id: callQuality + + isCustom: true + backgroundRadius: width/2 + colorSet: VideoConferenceStyle.buttons.callQuality + icon: VideoConferenceStyle.buttons.callQuality.icon_0 + toggled: callStatistics.isOpen + + onClicked: callStatistics.isOpen ? callStatistics.close() : callStatistics.open() + + Timer { + interval: 500 + repeat: true + running: true + triggeredOnStart: true + onTriggered: { + if(callModel) { + // Note: `quality` is in the [0, 5] interval and -1. + var quality = callModel.quality + if(quality > 4) + callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_4 + else if(quality > 3) + callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_3 + else if(quality > 2) + callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_2 + else if(quality > 1) + callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_1 + else + callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_0 + } + } + } + } // Title Text{ Timer{ @@ -316,7 +350,8 @@ Window { } // Security ActionButton{ - visible: callModel && !callModel.isConference + id: securityButton + visible: !window.hideButtons && callModel && !callModel.isConference anchors.left: parent.left anchors.verticalCenter: actionsButtons.verticalCenter anchors.leftMargin: 25 @@ -331,7 +366,32 @@ Window { tooltipText: Logic.makeReadableSecuredString(callModel.securedString) } - + RowLayout{ + visible: callModel && callModel.remoteRecording + + anchors.verticalCenter: !window.hideButtons ? actionsButtons.verticalCenter : undefined + anchors.bottom: window.hideButtons ? parent.bottom : undefined + anchors.bottomMargin: window.hideButtons ? 20 : 0 + anchors.left: securityButton.right + anchors.leftMargin: 20 + anchors.right: actionsButtons.left + anchors.rightMargin: 10 + + Icon{ + icon: VideoConferenceStyle.recordWarning.icon + iconSize: VideoConferenceStyle.recordWarning.iconSize + overwriteColor: VideoConferenceStyle.recordWarning.iconColor + } + Text{ + Layout.fillWidth: true + //: 'This call is being recorded.' : Warn the user that the remote is currently recording the call. + text: qsTr('callWarningRecord') + color: VideoConferenceStyle.recordWarning.color + font.italic: true + font.pointSize: VideoConferenceStyle.recordWarning.pointSize + wrapMode: Text.WordWrap + } + } // Action buttons RowLayout{ id: actionsButtons @@ -425,11 +485,12 @@ Window { anchors.rightMargin: 25 height: visible ? 60 : 0 visible: !window.hideButtons + /* Not available in fullscreen yet. ActionButton{ isCustom: true backgroundRadius: width/2 colorSet: VideoConferenceStyle.buttons.chat - visible: (SettingsModel.standardChatEnabled || SettingsModel.secureChatEnabled) && callModel && !callModel.isConference + visible: false && (SettingsModel.standardChatEnabled || SettingsModel.secureChatEnabled) && callModel && !callModel.isConference toggled: window.chatIsOpened onClicked: { if (window.chatIsOpened) { @@ -438,7 +499,7 @@ Window { window.openChat() } } - } + }*/ ActionButton{ visible: callModel && callModel.isConference isCustom: true @@ -452,40 +513,7 @@ Window { rightMenu.showParticipantsMenu() } } - ActionButton { - id: callQuality - - isCustom: true - backgroundRadius: width/2 - colorSet: VideoConferenceStyle.buttons.callQuality - icon: VideoConferenceStyle.buttons.callQuality.icon_0 - toggled: callStatistics.isOpen - onClicked: callStatistics.isOpen ? callStatistics.close() : callStatistics.open() - - Timer { - interval: 500 - repeat: true - running: true - triggeredOnStart: true - onTriggered: { - if(callModel) { - // Note: `quality` is in the [0, 5] interval and -1. - var quality = callModel.quality - if(quality > 4) - callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_4 - else if(quality > 3) - callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_3 - else if(quality > 2) - callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_2 - else if(quality > 1) - callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_1 - else - callQuality.icon = VideoConferenceStyle.buttons.callQuality.icon_0 - } - } - } - } ActionButton{ isCustom: true backgroundRadius: width/2 @@ -519,18 +547,22 @@ Window { MouseArea{ Timer { id: hideButtonsTimer - property bool realRunning : true + property bool realRunning : false + property bool firstUse: true - interval: 5000 - running: true - triggeredOnStart: true - onTriggered: {if(realRunning != running) realRunning = running} + interval: firstUse ? 500 : 4000 + running: false + triggeredOnStart: !firstUse + onTriggered: {if(!firstUse && realRunning != running) realRunning = running + firstUse = false} function startTimer(){ - restart(); + if(!firstUse || !running) + restart(); } function stopTimer(){ - stop(); - realRunning = false; + stop() + realRunning = false + hideButtonsTimer.firstUse = false } }