diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-03-09 07:39:21 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-03-09 07:40:58 (GMT) |
commit | 912dbcf226e361f23b82a77372038865ffebbd02 (patch) | |
tree | 17582ca97ca1d7bed5de3f7ff8aeb7b931537e1f | |
parent | ba14801a660031f3a2ad06a2054fd8a6bc4b10b5 (diff) | |
download | swift-contrib-912dbcf226e361f23b82a77372038865ffebbd02.zip swift-contrib-912dbcf226e361f23b82a77372038865ffebbd02.tar.bz2 |
Fix marking notices as read.
Resolves: #775
-rw-r--r-- | Swift/Controllers/EventWindowController.cpp | 2 | ||||
-rw-r--r-- | Swift/Controllers/SoundEventController.cpp | 6 | ||||
-rw-r--r-- | Swift/Controllers/XMPPEvents/EventController.cpp | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/Swift/Controllers/EventWindowController.cpp b/Swift/Controllers/EventWindowController.cpp index 18c37f4..a6ff061 100644 --- a/Swift/Controllers/EventWindowController.cpp +++ b/Swift/Controllers/EventWindowController.cpp @@ -25,7 +25,7 @@ EventWindowController::~EventWindowController() { void EventWindowController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent> event) { event->onConclusion.connect(boost::bind(&EventWindowController::handleEventConcluded, this, event)); - window_->addEvent(event, true); + window_->addEvent(event, event->getConcluded()); } void EventWindowController::handleEventConcluded(boost::shared_ptr<StanzaEvent> event) { diff --git a/Swift/Controllers/SoundEventController.cpp b/Swift/Controllers/SoundEventController.cpp index 0351445..26847ed 100644 --- a/Swift/Controllers/SoundEventController.cpp +++ b/Swift/Controllers/SoundEventController.cpp @@ -28,8 +28,10 @@ SoundEventController::SoundEventController(EventController* eventController, Sou setPlaySounds(playSounds); } -void SoundEventController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent>) { - if (playSounds_) soundPlayer_->playSound(SoundPlayer::MessageReceived); +void SoundEventController::handleEventQueueEventAdded(boost::shared_ptr<StanzaEvent> event) { + if (playSounds_ && !event->getConcluded()) { + soundPlayer_->playSound(SoundPlayer::MessageReceived); + } } void SoundEventController::setPlaySounds(bool playSounds) { diff --git a/Swift/Controllers/XMPPEvents/EventController.cpp b/Swift/Controllers/XMPPEvents/EventController.cpp index 8e31d30..157be86 100644 --- a/Swift/Controllers/XMPPEvents/EventController.cpp +++ b/Swift/Controllers/XMPPEvents/EventController.cpp @@ -30,6 +30,9 @@ void EventController::handleIncomingEvent(boost::shared_ptr<StanzaEvent> sourceE boost::shared_ptr<ErrorEvent> errorEvent = boost::dynamic_pointer_cast<ErrorEvent>(sourceEvent); if ((messageEvent && messageEvent->isReadable()) || subscriptionEvent || errorEvent) { events_.push_back(sourceEvent); + if (sourceEvent->getConcluded()) { + handleEventConcluded(sourceEvent); + } sourceEvent->onConclusion.connect(boost::bind(&EventController::handleEventConcluded, this, sourceEvent)); onEventQueueLengthChange(events_.size()); onEventQueueEventAdded(sourceEvent); |