aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/QXmppMucManager.cpp8
-rw-r--r--src/QXmppMucManager.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/src/QXmppMucManager.cpp b/src/QXmppMucManager.cpp
index 8cb2c717..2794b6e5 100644
--- a/src/QXmppMucManager.cpp
+++ b/src/QXmppMucManager.cpp
@@ -266,13 +266,19 @@ bool QXmppMucRoom::kick(const QString &jid, const QString &reason)
/// Leaves the chat room.
///
+/// \param message An optional message.
+///
/// \return true if the request was sent, false otherwise
-bool QXmppMucRoom::leave()
+bool QXmppMucRoom::leave(const QString &message)
{
QXmppPresence packet;
packet.setTo(d->ownJid());
packet.setType(QXmppPresence::Unavailable);
+
+ QXmppPresence::Status status;
+ status.setStatusText(message);
+ packet.setStatus(status);
return d->client->sendPacket(packet);
}
diff --git a/src/QXmppMucManager.h b/src/QXmppMucManager.h
index be439857..889364ca 100644
--- a/src/QXmppMucManager.h
+++ b/src/QXmppMucManager.h
@@ -168,7 +168,7 @@ signals:
public slots:
bool join();
bool kick(const QString &jid, const QString &reason);
- bool leave();
+ bool leave(const QString &message = QString());
bool requestConfiguration();
bool requestPermissions();
bool setConfiguration(const QXmppDataForm &form);