diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-10-20 07:58:12 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-10-20 08:04:21 (GMT) |
commit | d46ebaac1cf7161fd0a551c34cf80f441f6d19ab (patch) | |
tree | a47705e770329b386b48b6fb5883965740cf438d /Swift/Controllers/Chat/ChatControllerBase.cpp | |
parent | a49ca97a7b2ad61385d0f6f22ec598a63d889ae7 (diff) | |
download | swift-contrib-d46ebaac1cf7161fd0a551c34cf80f441f6d19ab.zip swift-contrib-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.cpp | 6 |
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); |