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 : ''
}
}
}