diff --git a/linphone-app/src/components/chat-events/ChatMessageModel.cpp b/linphone-app/src/components/chat-events/ChatMessageModel.cpp index 7dc160950..f8707a90c 100644 --- a/linphone-app/src/components/chat-events/ChatMessageModel.cpp +++ b/linphone-app/src/components/chat-events/ChatMessageModel.cpp @@ -415,6 +415,10 @@ qint64 ChatMessageModel::getEphemeralExpireTime() const{ //return QDateTime::fromMSecsSinceEpoch(mChatMessage->getEphemeralExpireTime() * 1000) } +long ChatMessageModel::getEphemeralLifetime() const{ + return mChatMessage->getEphemeralLifetime(); +} + LinphoneEnums::ChatMessageState ChatMessageModel::getState() const{ return LinphoneEnums::fromLinphone(mChatMessage->getState()); } diff --git a/linphone-app/src/components/chat-events/ChatMessageModel.hpp b/linphone-app/src/components/chat-events/ChatMessageModel.hpp index f6ebbba5a..3db77631f 100644 --- a/linphone-app/src/components/chat-events/ChatMessageModel.hpp +++ b/linphone-app/src/components/chat-events/ChatMessageModel.hpp @@ -142,6 +142,7 @@ public: Q_PROPERTY(bool isEphemeral READ isEphemeral NOTIFY isEphemeralChanged) Q_PROPERTY(qint64 ephemeralExpireTime READ getEphemeralExpireTime NOTIFY ephemeralExpireTimeChanged) + Q_PROPERTY(long ephemeralLifetime READ getEphemeralLifetime CONSTANT) Q_PROPERTY(LinphoneEnums::ChatMessageState state READ getState NOTIFY stateChanged) Q_PROPERTY(bool isOutgoing READ isOutgoing NOTIFY isOutgoingChanged) @@ -167,6 +168,7 @@ public: ContactModel * getContactModel() const; bool isEphemeral() const; Q_INVOKABLE qint64 getEphemeralExpireTime() const; + Q_INVOKABLE long getEphemeralLifetime() const; LinphoneEnums::ChatMessageState getState() const; bool isOutgoing() const; ContentModel * getFileContentModel() const; diff --git a/linphone-app/ui/modules/Linphone/Chat/Message.qml b/linphone-app/ui/modules/Linphone/Chat/Message.qml index 092bc0300..53c21437b 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Message.qml +++ b/linphone-app/ui/modules/Linphone/Chat/Message.qml @@ -56,15 +56,14 @@ Item { visible:$chatEntry.isEphemeral spacing:5 Text{ - visible : $chatEntry.ephemeralExpireTime > 0 - text: Utils.formatElapsedTime($chatEntry.ephemeralExpireTime) + text: $chatEntry.ephemeralExpireTime > 0 ? Utils.formatElapsedTime($chatEntry.ephemeralExpireTime) : Utils.formatElapsedTime($chatEntry.ephemeralLifetime) color:"#FF5E00" font.pointSize: Units.dp * 8 Timer{ running:parent.visible interval: 1000 repeat:true - onTriggered: parent.text = Utils.formatElapsedTime($chatEntry.getEphemeralExpireTime())// Use the function + onTriggered: if($chatEntry.getEphemeralExpireTime() > 0 ) parent.text = Utils.formatElapsedTime($chatEntry.getEphemeralExpireTime())// Use the function } } Icon{