diff options
Diffstat (limited to 'src/QXmppRosterManager.cpp')
| -rw-r--r-- | src/QXmppRosterManager.cpp | 22 |
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 |
