From a457ac2c8292e458822bd0a538e634d824efd3b9 Mon Sep 17 00:00:00 2001 From: Gaelle Braud Date: Wed, 3 Sep 2025 13:18:28 +0200 Subject: [PATCH] fix imdn status order in message info #LINQT-1970 --- Linphone/core/chat/message/ChatMessageCore.cpp | 10 +++++----- Linphone/core/chat/message/ChatMessageCore.hpp | 5 +++-- Linphone/core/friend/FriendCore.hpp | 1 - 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Linphone/core/chat/message/ChatMessageCore.cpp b/Linphone/core/chat/message/ChatMessageCore.cpp index e6b0d103e..4de3cb55d 100644 --- a/Linphone/core/chat/message/ChatMessageCore.cpp +++ b/Linphone/core/chat/message/ChatMessageCore.cpp @@ -600,11 +600,11 @@ QStringList ChatMessageCore::getImdnStatusListLabels() const { return statusList; } -QList ChatMessageCore::getImdnStatusAsSingletons() const { - QList statusSingletons; +QVariantList ChatMessageCore::getImdnStatusAsSingletons() const { + QVariantList statusSingletons; statusSingletons.append(createImdnStatusSingletonVariant(LinphoneEnums::ChatMessageState::StateDisplayed, 0)); - statusSingletons.append(createImdnStatusSingletonVariant(LinphoneEnums::ChatMessageState::StateDelivered, 0)); statusSingletons.append(createImdnStatusSingletonVariant(LinphoneEnums::ChatMessageState::StateDeliveredToUser, 0)); + statusSingletons.append(createImdnStatusSingletonVariant(LinphoneEnums::ChatMessageState::StateDelivered, 0)); statusSingletons.append(createImdnStatusSingletonVariant(LinphoneEnums::ChatMessageState::StateNotDelivered, 0)); for (auto &stat : mImdnStatusList) { auto it = std::find_if(statusSingletons.begin(), statusSingletons.end(), [state = stat.mState](QVariant data) { @@ -619,8 +619,8 @@ QList ChatMessageCore::getImdnStatusAsSingletons() const { ++count; map.remove("count"); map.insert("count", count); - statusSingletons.erase(it); - statusSingletons.append(map); + int index = std::distance(statusSingletons.begin(), it); + statusSingletons.replace(index, map); } } return statusSingletons; diff --git a/Linphone/core/chat/message/ChatMessageCore.hpp b/Linphone/core/chat/message/ChatMessageCore.hpp index b09804aa6..8997f8ac6 100644 --- a/Linphone/core/chat/message/ChatMessageCore.hpp +++ b/Linphone/core/chat/message/ChatMessageCore.hpp @@ -29,6 +29,7 @@ #include "model/chat/message/ChatMessageModel.hpp" #include "tool/AbstractObject.hpp" #include "tool/thread/SafeConnection.hpp" + #include #include @@ -98,7 +99,7 @@ class ChatMessageCore : public QObject, public AbstractObject { Q_PROPERTY(QString ownReaction READ getOwnReaction WRITE setOwnReaction NOTIFY messageReactionChanged) Q_PROPERTY(QStringList imdnStatusListAsString READ getImdnStatusListLabels NOTIFY imdnStatusListChanged) Q_PROPERTY(QList imdnStatusList READ getImdnStatusList NOTIFY imdnStatusListChanged) - Q_PROPERTY(QList imdnStatusAsSingletons READ getImdnStatusAsSingletons NOTIFY imdnStatusListChanged) + Q_PROPERTY(QVariantList imdnStatusAsSingletons READ getImdnStatusAsSingletons NOTIFY imdnStatusListChanged) Q_PROPERTY(QList reactions READ getReactions WRITE setReactions NOTIFY messageReactionChanged) Q_PROPERTY(QList reactionsSingleton READ getReactionsSingleton NOTIFY singletonReactionMapChanged) Q_PROPERTY( @@ -159,7 +160,7 @@ public: void setMessageState(LinphoneEnums::ChatMessageState state); QList getImdnStatusList() const; void setImdnStatusList(QList status); - QList getImdnStatusAsSingletons() const; + QVariantList getImdnStatusAsSingletons() const; QStringList getImdnStatusListLabels() const; std::shared_ptr getModel() const; diff --git a/Linphone/core/friend/FriendCore.hpp b/Linphone/core/friend/FriendCore.hpp index 1d03dbbbb..0ffe51668 100644 --- a/Linphone/core/friend/FriendCore.hpp +++ b/Linphone/core/friend/FriendCore.hpp @@ -31,7 +31,6 @@ #include #include -#include #include #include