fix imdn status order in message info #LINQT-1970

This commit is contained in:
Gaelle Braud 2025-09-03 13:18:28 +02:00
parent cbc9c5e2b9
commit a457ac2c82
3 changed files with 8 additions and 8 deletions

View file

@ -600,11 +600,11 @@ QStringList ChatMessageCore::getImdnStatusListLabels() const {
return statusList;
}
QList<QVariant> ChatMessageCore::getImdnStatusAsSingletons() const {
QList<QVariant> 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<QVariant> 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;

View file

@ -29,6 +29,7 @@
#include "model/chat/message/ChatMessageModel.hpp"
#include "tool/AbstractObject.hpp"
#include "tool/thread/SafeConnection.hpp"
#include <QObject>
#include <QSharedPointer>
@ -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<ImdnStatus> imdnStatusList READ getImdnStatusList NOTIFY imdnStatusListChanged)
Q_PROPERTY(QList<QVariant> imdnStatusAsSingletons READ getImdnStatusAsSingletons NOTIFY imdnStatusListChanged)
Q_PROPERTY(QVariantList imdnStatusAsSingletons READ getImdnStatusAsSingletons NOTIFY imdnStatusListChanged)
Q_PROPERTY(QList<Reaction> reactions READ getReactions WRITE setReactions NOTIFY messageReactionChanged)
Q_PROPERTY(QList<QVariant> reactionsSingleton READ getReactionsSingleton NOTIFY singletonReactionMapChanged)
Q_PROPERTY(
@ -159,7 +160,7 @@ public:
void setMessageState(LinphoneEnums::ChatMessageState state);
QList<ImdnStatus> getImdnStatusList() const;
void setImdnStatusList(QList<ImdnStatus> status);
QList<QVariant> getImdnStatusAsSingletons() const;
QVariantList getImdnStatusAsSingletons() const;
QStringList getImdnStatusListLabels() const;
std::shared_ptr<ChatMessageModel> getModel() const;

View file

@ -31,7 +31,6 @@
#include <QColor>
#include <QDateTime>
#include <QMap>
#include <QObject>
#include <QSharedPointer>