Display a remote paused message when call is one-one and has been remotely paused.

Fix incall avatar color.
This commit is contained in:
Julien Wadel 2023-06-09 16:36:32 +02:00
parent dcddaed4a7
commit 5d5395af45
21 changed files with 145 additions and 28 deletions

View file

@ -1516,7 +1516,7 @@ Adresa URL serveru není nakonfigurována.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>V současné době jste mimo schůzku.</translation>
</message>
<message>
@ -1564,6 +1564,11 @@ Adresa URL serveru není nakonfigurována.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation>Hovor není připraven. Počkejte prosím</translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ Server url ikke konfigureret.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1554,6 +1554,11 @@ Server url ikke konfigureret.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ Server URL ist nicht konfiguriert.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1554,6 +1554,11 @@ Server URL ist nicht konfiguriert.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,8 +1506,8 @@ Server URL not configured.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<translation>You are currently out of the meeting.</translation>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>You have paused the call.</translation>
</message>
<message>
<source>incallPauseHint</source>
@ -1554,6 +1554,11 @@ Server URL not configured.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation>The call is not ready. Please Wait</translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation>Call has been paused by remote.</translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ URL del servidor no configurada.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1554,6 +1554,11 @@ URL del servidor no configurada.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ URL du serveur non configurée.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>Vous êtes actuellement en dehors de l&apos;appel de groupe.</translation>
</message>
<message>
@ -1554,6 +1554,11 @@ URL du serveur non configurée.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation>La réunion est en cours de préparation. Veuillez patienter</translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1496,7 +1496,7 @@ A kiszolgáló URL-je nincs konfigurálva.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1544,6 +1544,11 @@ A kiszolgáló URL-je nincs konfigurálva.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ URL del server non configurato.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>Ora sei fuori dalla conferenza.</translation>
</message>
<message>
@ -1554,6 +1554,11 @@ URL del server non configurato.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1496,7 +1496,7 @@
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation></translation>
</message>
<message>
@ -1544,6 +1544,11 @@
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1516,7 +1516,7 @@ Nesukonfigūruotas serverio url.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1564,6 +1564,11 @@ Nesukonfigūruotas serverio url.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ URL do servidor não configurado.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>Está atualmente fora da reunião.</translation>
</message>
<message>
@ -1554,6 +1554,11 @@ URL do servidor não configurado.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation>A chamada não está pronta. Por favor, aguarde</translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1516,7 +1516,7 @@
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation>В настоящее время вы вне встречи.</translation>
</message>
<message>
@ -1564,6 +1564,11 @@
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation>Звонок не готов. Подождите...</translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1506,7 +1506,7 @@ Serverwebbadressen är inte konfigurerad.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1554,6 +1554,11 @@ Serverwebbadressen är inte konfigurerad.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1496,7 +1496,7 @@ Sunucu url&apos;si yapılandırılmadı.</translation>
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1544,6 +1544,11 @@ Sunucu url&apos;si yapılandırılmadı.</translation>
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1516,7 +1516,7 @@
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1564,6 +1564,11 @@
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -1496,7 +1496,7 @@
</message>
<message>
<source>incallPauseWarning</source>
<extracomment>&apos;You are currently out of the conference.&apos; : Pause message in video conference.</extracomment>
<extracomment>&apos;You have paused the call.&apos; : Pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1544,6 +1544,11 @@
<extracomment>&apos;The call is not ready. Please Wait...&apos; : Waiting message for starting a call.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>incallRemotePauseWarning</source>
<extracomment>&apos;Call has been paused by remote.&apos; : Remote pause message in call.</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IncallFullscreen</name>

View file

@ -512,7 +512,7 @@ void CallModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call,
setCallErrorFromReason(call->getReason());
stopAutoAnswerTimer();
stopRecording();
mPausedByRemote = false;
setPausedByRemote(false);
break;
case linphone::Call::State::StreamsRunning: {
@ -521,7 +521,7 @@ void CallModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call,
startRecording();
mWasConnected = true;
}
mPausedByRemote = false;
setPausedByRemote(false);
updateConferenceVideoLayout();
setCallId(QString::fromStdString(mCall->getCallLog()->getCallId()));
updateEncryption();
@ -530,12 +530,12 @@ void CallModel::handleCallStateChanged (const shared_ptr<linphone::Call> &call,
case linphone::Call::State::Connected: getConferenceSharedModel();
case linphone::Call::State::Referred:
case linphone::Call::State::Released:
mPausedByRemote = false;
setPausedByRemote(false);
break;
case linphone::Call::State::PausedByRemote:
mNotifyCameraFirstFrameReceived = true;
mPausedByRemote = true;
setPausedByRemote(true);
break;
case linphone::Call::State::Pausing:
@ -838,6 +838,16 @@ void CallModel::setPausedByUser (bool status) {
}
}
bool CallModel::getPausedByRemote () const {
return mPausedByRemote;
}
void CallModel::setPausedByRemote (bool status) {
if(mPausedByRemote != status){
mPausedByRemote = status;
emit pausedByRemoteChanged();
}
}
// -----------------------------------------------------------------------------
bool CallModel::getRemoteVideoEnabled () const {
shared_ptr<const linphone::CallParams> params = mCall->getRemoteParams();

View file

@ -71,6 +71,7 @@ class CallModel : public QObject {
Q_PROPERTY(float microVolumeGain READ getMicroVolumeGain WRITE setMicroVolumeGain NOTIFY microVolumeGainChanged)
Q_PROPERTY(bool pausedByUser READ getPausedByUser WRITE setPausedByUser NOTIFY statusChanged)
Q_PROPERTY(bool pausedByRemote READ getPausedByRemote WRITE setPausedByRemote NOTIFY pausedByRemoteChanged)
Q_PROPERTY(bool videoEnabled READ getVideoEnabled WRITE setVideoEnabled NOTIFY statusChanged)
Q_PROPERTY(bool localVideoEnabled READ getLocalVideoEnabled WRITE setVideoEnabled NOTIFY statusChanged)
Q_PROPERTY(bool cameraEnabled READ getCameraEnabled WRITE setCameraEnabled NOTIFY statusChanged)
@ -231,6 +232,7 @@ signals:
void isPQZrtpChanged();
void speakerVolumeGainChanged (float volume);
void microVolumeGainChanged (float volume);
void pausedByRemoteChanged();
void cameraFirstFrameReceived (unsigned int width, unsigned int height);
@ -280,6 +282,9 @@ public:
bool getPausedByUser () const;
void setPausedByUser (bool status);
bool getPausedByRemote () const;
void setPausedByRemote (bool status);
bool getLocalVideoEnabled () const;
bool getVideoEnabled () const;

View file

@ -33,7 +33,7 @@ Avatar {
Component.onDestruction: _sipAddressObserver=null// Need to set it to null because of not calling destructor if not.
backgroundColor: CallStyle.container.avatar.backgroundColor.color
foregroundColor: mainItem.isPaused ? CallStyle.container.pause.color : 'transparent'
foregroundColor: mainItem.isPaused ? CallStyle.container.pause.colorModel.color : 'transparent'
image: {
if (_sipAddressObserver) {

View file

@ -81,7 +81,7 @@ Rectangle {
anchors.fill: parent
}
anchors.fill: parent
visible: callModel.pausedByUser
visible: callModel.pausedByUser || (callModel.isOneToOne && callModel.pausedByRemote)
color: IncallStyle.pauseArea.backgroundColor.color
z: 1
ColumnLayout{
@ -94,14 +94,18 @@ Rectangle {
ActionButton{
Layout.alignment: Qt.AlignCenter
isCustom: true
colorSet: IncallStyle.pauseArea.play
colorSet: callModel.pausedByUser ? IncallStyle.pauseArea.play : IncallStyle.pauseArea.pause
backgroundRadius: width/2
enabled: callModel.pausedByUser
onClicked: callModel.pausedByUser = !callModel.pausedByUser
}
Text{
Layout.alignment: Qt.AlignCenter
//: 'You are currently out of the conference.' : Pause message in video conference.
text: qsTr('incallPauseWarning')
text: callModel.pausedByUser
//: 'You have paused the call.' : Pause message in call.
? qsTr('incallPauseWarning')
//: 'Call has been paused by remote.' : Remote pause message in call.
: qsTr('incallRemotePauseWarning')
font.pointSize: IncallStyle.pauseArea.title.pointSize
font.weight: IncallStyle.pauseArea.title.weight
color: IncallStyle.pauseArea.title.colorModel.color
@ -109,8 +113,11 @@ Rectangle {
Text{
Layout.topMargin: 10
Layout.alignment: Qt.AlignCenter
text: callModel.pausedByUser
//: 'Click on play button to join it back.' : Explain what to do when being in pause in conference.
text: qsTr('incallPauseHint')
? qsTr('incallPauseHint')
: ''
font.pointSize: IncallStyle.pauseArea.description.pointSize
font.weight: IncallStyle.pauseArea.description.weight
color: IncallStyle.pauseArea.description.colorModel.color

View file

@ -64,7 +64,22 @@ QtObject {
property var foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 's_h_b_fg')
property var foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 's_n_b_fg')
property var foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_u', icon, 's_p_b_fg')
}
}
property QtObject pause: QtObject {
property int iconSize: 240
property string icon : 'pause_custom'
property string name : 'paused_call'
property var backgroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_n', icon, 's_p_b_bg')
property var backgroundDisabledColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_d', icon, 's_p_b_bg')
property var backgroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_h', icon, 's_h_b_bg')
property var backgroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_p', icon, 's_n_b_bg')
property var backgroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_bg_u', icon, 's_p_b_bg')
property var foregroundNormalColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_n', icon, 's_p_b_fg')
property var foregroundDisabledColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_d', icon, 's_p_b_fg')
property var foregroundHoveredColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_h', icon, 's_h_b_fg')
property var foregroundPressedColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_p', icon, 's_n_b_fg')
property var foregroundUpdatingColor : ColorsList.addImageColor(sectionName+'_'+name+'_fg_u', icon, 's_p_b_fg')
}
}
property QtObject actionArea: QtObject {
property int height: 100