diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-11-14 23:14:13 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-11-15 22:29:13 (GMT) |
commit | 0f4fad3929097dca24d1ca92b06283811661e1f4 (patch) | |
tree | eecdeb5928b01342b2824e83202571e7c465512c /Swift/Controllers | |
parent | 1c95b70465d43c26a99c362fa2e512edc5b2b68d (diff) | |
download | swift-0f4fad3929097dca24d1ca92b06283811661e1f4.zip swift-0f4fad3929097dca24d1ca92b06283811661e1f4.tar.bz2 |
Don't show unread events after signout.
Resolves: #685
Release-Notes: Signing out with unread events will no longer trap your system tray with unread messages.
Diffstat (limited to 'Swift/Controllers')
-rw-r--r-- | Swift/Controllers/MainController.cpp | 1 | ||||
-rw-r--r-- | Swift/Controllers/XMPPEvents/EventController.cpp | 5 | ||||
-rw-r--r-- | Swift/Controllers/XMPPEvents/EventController.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index 165e87d..b8ba289 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -469,6 +469,7 @@ void MainController::handleCancelLoginRequest() { } void MainController::signOut() { + eventController_->clear(); logout(); loginWindow_->loggedOut(); resetClient(); diff --git a/Swift/Controllers/XMPPEvents/EventController.cpp b/Swift/Controllers/XMPPEvents/EventController.cpp index f2fdcfe..8e31d30 100644 --- a/Swift/Controllers/XMPPEvents/EventController.cpp +++ b/Swift/Controllers/XMPPEvents/EventController.cpp @@ -47,4 +47,9 @@ void EventController::disconnectAll() { onEventQueueEventAdded.disconnect_all_slots(); } +void EventController::clear() { + events_.clear(); + onEventQueueLengthChange(0); +} + } diff --git a/Swift/Controllers/XMPPEvents/EventController.h b/Swift/Controllers/XMPPEvents/EventController.h index 1e0a069..827dce8 100644 --- a/Swift/Controllers/XMPPEvents/EventController.h +++ b/Swift/Controllers/XMPPEvents/EventController.h @@ -28,6 +28,7 @@ namespace Swift { boost::signal<void (boost::shared_ptr<StanzaEvent>)> onEventQueueEventAdded; const EventList& getEvents() const {return events_;} void disconnectAll(); + void clear(); private: void handleEventConcluded(boost::shared_ptr<StanzaEvent> event); |