From ac74e91fc474785391b6be798f527dc3daf2f502 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Fri, 29 Apr 2011 08:46:28 +0000 Subject: * add QXmppRosterManager::itemAdded() and itemChanged() * deprecate QXmppRosterManager::rosterChanged() --- src/QXmppRosterManager.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/QXmppRosterManager.cpp') diff --git a/src/QXmppRosterManager.cpp b/src/QXmppRosterManager.cpp index fd948e99..92b150ea 100644 --- a/src/QXmppRosterManager.cpp +++ b/src/QXmppRosterManager.cpp @@ -163,12 +163,22 @@ void QXmppRosterManager::rosterIqReceived(const QXmppRosterIq& rosterIq) foreach (const QXmppRosterIq::Item &item, items) { const QString bareJid = item.bareJid(); if (item.subscriptionType() == QXmppRosterIq::Item::Remove) { - // notify the user that the item was removed if we previously had it - if (m_entries.remove(bareJid)) + if (m_entries.remove(bareJid)) { + // notify the user that the item was removed emit itemRemoved(bareJid); + } } else { - // notify the user that the item changed + const bool added = !m_entries.contains(bareJid); m_entries.insert(bareJid, item); + if (added) { + // notify the user that the item was added + emit itemAdded(bareJid); + } else { + // notify the user that the item changed + emit itemChanged(bareJid); + } + + // FIXME: remove legacy signal emit rosterChanged(bareJid); } } -- cgit v1.2.3