aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppRosterManager.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2011-09-29 10:02:01 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2011-09-29 10:02:01 +0000
commit82ae99430647a9af638c7b19bddcf822115ff010 (patch)
treeaae230bd4cb254764b8fbde9559ab742ed7f804d /src/QXmppRosterManager.cpp
parenta5f3ebf596ec570d148ebb5958e6e2d594f52482 (diff)
downloadqxmpp-82ae99430647a9af638c7b19bddcf822115ff010.tar.gz
add QXmppRosterManager::renameItem to rename a roster item
Diffstat (limited to 'src/QXmppRosterManager.cpp')
-rw-r--r--src/QXmppRosterManager.cpp22
1 files changed, 22 insertions, 0 deletions
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