From 82ae99430647a9af638c7b19bddcf822115ff010 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Thu, 29 Sep 2011 10:02:01 +0000 Subject: add QXmppRosterManager::renameItem to rename a roster item --- src/QXmppRosterManager.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/QXmppRosterManager.cpp') diff --git a/src/QXmppRosterManager.cpp b/src/QXmppRosterManager.cpp index 6da4ee51..b89bdc0a 100644 --- a/src/QXmppRosterManager.cpp +++ b/src/QXmppRosterManager.cpp @@ -254,6 +254,28 @@ bool QXmppRosterManager::removeItem(const QString &bareJid) return client()->sendPacket(iq); } +/// Renames a roster item. +/// +/// As a result, the server will initiate a roster push, causing the +/// itemChanged() signal to be emitted. +/// +/// \param bareJid +/// \param name + +bool QXmppRosterManager::renameItem(const QString &bareJid, const QString &name) +{ + if (!d->entries.contains(bareJid)) + return false; + + QXmppRosterIq::Item item = d->entries.value(bareJid); + item.setName(name); + + QXmppRosterIq iq; + iq.setType(QXmppIq::Set); + iq.addItem(item); + return client()->sendPacket(iq); +} + /// Requests a subscription to the given contact. /// /// As a result, the server will initiate a roster push, causing the -- cgit v1.2.3