diff --git a/linphone-desktop/assets/languages/en.ts b/linphone-desktop/assets/languages/en.ts index a7e0970ac..964a9ac40 100644 --- a/linphone-desktop/assets/languages/en.ts +++ b/linphone-desktop/assets/languages/en.ts @@ -253,19 +253,19 @@ Invalid - User declined the call + callErrorDeclined - User not found + callErrorNotFound - User is busy + callErrorBusy - Incompatible media params + callErrorNotAcceptable diff --git a/linphone-desktop/assets/languages/fr.ts b/linphone-desktop/assets/languages/fr.ts index 7f154a110..f6e0c4f47 100644 --- a/linphone-desktop/assets/languages/fr.ts +++ b/linphone-desktop/assets/languages/fr.ts @@ -253,19 +253,19 @@ Invalide - User declined the call + callErrorDeclined - User not found + callErrorNotFound - User is busy + callErrorBusy - Incompatible media params + callErrorNotAcceptable diff --git a/linphone-desktop/src/components/call/CallModel.cpp b/linphone-desktop/src/components/call/CallModel.cpp index 51a04a550..241443ecd 100644 --- a/linphone-desktop/src/components/call/CallModel.cpp +++ b/linphone-desktop/src/components/call/CallModel.cpp @@ -40,7 +40,6 @@ CallModel::CallModel (shared_ptr call) { Q_ASSERT(call != nullptr); mCall = call; mCall->setData("call-model", *this); - mReason = ""; // Deal with auto-answer. { @@ -194,7 +193,7 @@ void CallModel::handleCallStateChanged (const std::shared_ptr &c switch (state) { case linphone::CallStateError: - setReason(call->getReason()); + setCallErrorFromReason(call->getReason()); case linphone::CallStateEnd: stopAutoAnswerTimer(); mPausedByRemote = false; @@ -290,27 +289,29 @@ CallModel::CallStatus CallModel::getStatus () const { // ----------------------------------------------------------------------------- -void CallModel::setReason (linphone::Reason reason) { +void CallModel::setCallErrorFromReason (linphone::Reason reason) { switch (reason) { case linphone::ReasonDeclined: - mReason = tr("User declined the call"); + mCallError = tr("callErrorDeclined"); break; case linphone::ReasonNotFound: - mReason = tr("User not found"); + mCallError = tr("callErrorNotFound"); break; case linphone::ReasonBusy: - mReason = tr("User is busy"); + mCallError = tr("callErrorBusy"); break; case linphone::ReasonNotAcceptable: - mReason = tr("Incompatible media params"); + mCallError = tr("callErrorNotAcceptable"); break; default: break; } + + emit callErrorChanged(mCallError); } -QString CallModel::getReason () const { - return mReason; +QString CallModel::getCallError () const { + return mCallError; } // ----------------------------------------------------------------------------- diff --git a/linphone-desktop/src/components/call/CallModel.hpp b/linphone-desktop/src/components/call/CallModel.hpp index b6a6103ac..913c80f76 100644 --- a/linphone-desktop/src/components/call/CallModel.hpp +++ b/linphone-desktop/src/components/call/CallModel.hpp @@ -33,7 +33,7 @@ class CallModel : public QObject { Q_PROPERTY(QString sipAddress READ getSipAddress CONSTANT); Q_PROPERTY(CallStatus status READ getStatus NOTIFY statusChanged); - Q_PROPERTY(QString reason READ getReason NOTIFY statusChanged); + Q_PROPERTY(QString callError READ getCallError NOTIFY callErrorChanged); Q_PROPERTY(bool isOutgoing READ isOutgoing CONSTANT); @@ -91,11 +91,12 @@ public: Q_INVOKABLE void sendDtmf (const QString &dtmf); signals: - void statusChanged (CallStatus status); + void callErrorChanged (const QString &callError); void microMutedChanged (bool status); - void videoRequested (); void recordingChanged (bool status); void statsUpdated (); + void statusChanged (CallStatus status); + void videoRequested (); private: void handleCallStateChanged (const std::shared_ptr &call, linphone::CallState state); @@ -109,9 +110,8 @@ private: return mCall->getDir() == linphone::CallDirOutgoing; } - QString mReason; - void setReason (linphone::Reason reason); - QString getReason () const; + void setCallErrorFromReason (linphone::Reason reason); + QString getCallError () const; int getDuration () const; float getQuality () const; @@ -141,6 +141,8 @@ private: bool mPausedByUser = false; bool mRecording = false; + QString mCallError; + QVariantList mAudioStats; QVariantList mVideoStats; diff --git a/linphone-desktop/ui/views/App/Calls/EndedCall.qml b/linphone-desktop/ui/views/App/Calls/EndedCall.qml index a94814fdf..cb25813f8 100644 --- a/linphone-desktop/ui/views/App/Calls/EndedCall.qml +++ b/linphone-desktop/ui/views/App/Calls/EndedCall.qml @@ -84,7 +84,7 @@ Rectangle { text: { var call = endedCall.call - return call ? call.reason : '' + return call ? call.callError : '' } } }