summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2010-10-20 07:58:12 (GMT)
committerKevin Smith <git@kismith.co.uk>2010-10-20 08:04:21 (GMT)
commitd46ebaac1cf7161fd0a551c34cf80f441f6d19ab (patch)
treea47705e770329b386b48b6fb5883965740cf438d /Swift/Controllers/Chat/ChatControllerBase.cpp
parenta49ca97a7b2ad61385d0f6f22ec598a63d889ae7 (diff)
downloadswift-d46ebaac1cf7161fd0a551c34cf80f441f6d19ab.zip
swift-d46ebaac1cf7161fd0a551c34cf80f441f6d19ab.tar.bz2
Tell MUCController to handle disconnect/reconnect rejoins.
This causes the MUCController to deal with reconnects by requesting a rejoin. It also prepares for doing time-based context requests. Although I've traced the code down, and confirmed that presenceSender->sendPresence(joinPresence); is being called, the stanza is never sent. This needs further investigation, as currently it prevents the rejoins working. Resolves: #625
Diffstat (limited to 'Swift/Controllers/Chat/ChatControllerBase.cpp')
-rw-r--r--Swift/Controllers/Chat/ChatControllerBase.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Swift/Controllers/Chat/ChatControllerBase.cpp b/Swift/Controllers/Chat/ChatControllerBase.cpp
index de74150..bbc04f6 100644
--- a/Swift/Controllers/Chat/ChatControllerBase.cpp
+++ b/Swift/Controllers/Chat/ChatControllerBase.cpp
@@ -27,7 +27,7 @@ ChatControllerBase::ChatControllerBase(const JID& self, StanzaChannel* stanzaCha
chatWindow_ = chatWindowFactory_->createChatWindow(toJID, eventStream);
chatWindow_->onAllMessagesRead.connect(boost::bind(&ChatControllerBase::handleAllMessagesRead, this));
chatWindow_->onSendMessageRequest.connect(boost::bind(&ChatControllerBase::handleSendMessageRequest, this, _1));
- setEnabled(stanzaChannel->isAvailable() && iqRouter->isAvailable());
+ setOnline(stanzaChannel->isAvailable() && iqRouter->isAvailable());
createDayChangeTimer();
}
@@ -58,6 +58,10 @@ void ChatControllerBase::setEnabled(bool enabled) {
chatWindow_->setInputEnabled(enabled);
}
+void ChatControllerBase::setOnline(bool online) {
+ setEnabled(online);
+}
+
void ChatControllerBase::setAvailableServerFeatures(boost::shared_ptr<DiscoInfo> info) {
if (iqRouter_->isAvailable() && info->hasFeature(DiscoInfo::SecurityLabels)) {
//chatWindow_->setSecurityLabelsEnabled(true);