diff --git a/src/components/sip-addresses/SipAddressesModel.cpp b/src/components/sip-addresses/SipAddressesModel.cpp index 5c93abdeb0d06631d88688475b68039813dd8833..ef10f761706a771080ae8c9ea0dde1852472622f 100644 --- a/src/components/sip-addresses/SipAddressesModel.cpp +++ b/src/components/sip-addresses/SipAddressesModel.cpp @@ -71,7 +71,7 @@ SipAddressesModel::SipAddressesModel (QObject *parent) : QAbstractListModel(pare QObject::connect(coreHandlers, &CoreHandlers::messageReceived, this, &SipAddressesModel::handleMessageReceived); QObject::connect(coreHandlers, &CoreHandlers::callStateChanged, this, &SipAddressesModel::handleCallStateChanged); QObject::connect(coreHandlers, &CoreHandlers::presenceReceived, this, &SipAddressesModel::handlePresenceReceived); - QObject::connect(coreHandlers, &CoreHandlers::isComposingChanged, this, &SipAddressesModel::handlerIsComposingChanged); + QObject::connect(coreHandlers, &CoreHandlers::isComposingChanged, this, &SipAddressesModel::handleIsComposingChanged); } // ----------------------------------------------------------------------------- @@ -409,7 +409,7 @@ void SipAddressesModel::handleMessageSent (const shared_ptr &chatRoom) { +void SipAddressesModel::handleIsComposingChanged (const shared_ptr &chatRoom) { auto it = mPeerAddressToSipAddressEntry.find( Utils::coreStringToAppString(chatRoom->getPeerAddress()->asStringUriOnly()) ); @@ -455,7 +455,13 @@ void SipAddressesModel::addOrUpdateSipAddress (SipAddressEntry &sipAddressEntry, shared_ptr chatRoom(message->getChatRoom()); int count = chatRoom->getUnreadMessagesCount(); - QString localAddress(Utils::coreStringToAppString(chatRoom->getLocalAddress()->asStringUriOnly())); + QString localAddress(Utils::coreStringToAppString( + message->isOutgoing() + ? chatRoom->getPeerAddress()->asStringUriOnly() + : chatRoom->getLocalAddress()->asStringUriOnly() + )); + qInfo() << QStringLiteral("Update (`%1`, `%2`) from chat message.").arg(sipAddressEntry.sipAddress, localAddress); + ConferenceEntry &conferenceEntry = sipAddressEntry.localAddressToConferenceEntry[localAddress]; conferenceEntry.timestamp = QDateTime::fromMSecsSinceEpoch(message->getTime() * 1000); conferenceEntry.unreadMessageCount = count; diff --git a/src/components/sip-addresses/SipAddressesModel.hpp b/src/components/sip-addresses/SipAddressesModel.hpp index ba189b6bd73f91682d6e1a49da340846e4e9d37d..c0fd41aadbbcfade6f6d1d872b13e3b41d976027 100644 --- a/src/components/sip-addresses/SipAddressesModel.hpp +++ b/src/components/sip-addresses/SipAddressesModel.hpp @@ -104,7 +104,7 @@ private: void handleMessageSent (const std::shared_ptr &message); - void handlerIsComposingChanged (const std::shared_ptr &chatRoom); + void handleIsComposingChanged (const std::shared_ptr &chatRoom); // ---------------------------------------------------------------------------