Update unread count when unread incoming message is retracted

This commit is contained in:
Christophe Deschamps 2025-12-11 15:47:57 +01:00
parent 1bae93aab5
commit 50ec67298e

View file

@ -65,6 +65,7 @@ void EventLogList::disconnectItem(const QSharedPointer<EventLogCore> &item) {
disconnect(message.get(), &ChatMessageCore::isReadChanged, this, nullptr); disconnect(message.get(), &ChatMessageCore::isReadChanged, this, nullptr);
disconnect(message.get(), &ChatMessageCore::deleted, this, nullptr); disconnect(message.get(), &ChatMessageCore::deleted, this, nullptr);
disconnect(message.get(), &ChatMessageCore::edited, this, nullptr); disconnect(message.get(), &ChatMessageCore::edited, this, nullptr);
disconnect(message.get(), &ChatMessageCore::isRetractedChanged, this, nullptr);
} }
} }
@ -78,6 +79,9 @@ void EventLogList::connectItem(const QSharedPointer<EventLogCore> &item) {
if (mChatCore) emit mChatCore->lUpdateLastMessage(); if (mChatCore) emit mChatCore->lUpdateLastMessage();
remove(item); remove(item);
}); });
connect(message.get(), &ChatMessageCore::isRetractedChanged, this, [this, item] {
if (mChatCore) emit mChatCore->lUpdateUnreadCount();
});
connect(message.get(), &ChatMessageCore::edited, this, [this, item] { connect(message.get(), &ChatMessageCore::edited, this, [this, item] {
auto eventLogModel = item->getModel(); auto eventLogModel = item->getModel();
mCoreModelConnection->invokeToModel([this, eventLogModel, item]() { mCoreModelConnection->invokeToModel([this, eventLogModel, item]() {