From 138223ab9ca917420d107d95a113e7628c27bac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Thu, 15 Mar 2012 20:21:46 +0100 Subject: Added purge to Growl. diff --git a/SwifTools/Notifier/GrowlNotifier.h b/SwifTools/Notifier/GrowlNotifier.h index f1fb8c6..73f1008 100644 --- a/SwifTools/Notifier/GrowlNotifier.h +++ b/SwifTools/Notifier/GrowlNotifier.h @@ -29,9 +29,11 @@ namespace Swift { void handleNotificationClicked(void* data); void handleNotificationTimedOut(void* data); - virtual void purgeCallbacks() { -#warning FIXME: Implement - } + virtual void purgeCallbacks(); + + private: + void clearPendingNotifications(); + private: class Private; boost::shared_ptr p; diff --git a/SwifTools/Notifier/GrowlNotifier.mm b/SwifTools/Notifier/GrowlNotifier.mm index b0f26ce..c1996d9 100644 --- a/SwifTools/Notifier/GrowlNotifier.mm +++ b/SwifTools/Notifier/GrowlNotifier.mm @@ -60,10 +60,7 @@ GrowlNotifier::GrowlNotifier(const std::string& name) { GrowlNotifier::~GrowlNotifier() { [GrowlApplicationBridge setGrowlDelegate: nil]; - foreach (Context* context, p->pendingNotifications) { - delete context; - } - p->pendingNotifications.clear(); + clearPendingNotifications(); } void GrowlNotifier::showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picturePath, boost::function callback) { @@ -106,4 +103,15 @@ bool GrowlNotifier::isExternallyConfigured() const { return ![GrowlApplicationBridge isMistEnabled]; } +void GrowlNotifier::purgeCallbacks() { + clearPendingNotifications(); +} + +void GrowlNotifier::clearPendingNotifications() { + foreach (Context* context, p->pendingNotifications) { + delete context; + } + p->pendingNotifications.clear(); +} + } -- cgit v0.10.2-6-g49f6