summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/WindowsNotifier.cpp4
-rw-r--r--Swift/QtUI/WindowsNotifier.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/Swift/QtUI/WindowsNotifier.cpp b/Swift/QtUI/WindowsNotifier.cpp
index 1789451..212f0ca 100644
--- a/Swift/QtUI/WindowsNotifier.cpp
+++ b/Swift/QtUI/WindowsNotifier.cpp
@@ -41,10 +41,14 @@ void WindowsNotifier::showMessage(Type type, const std::string& subject, const s
tray->showMessage(P2QSTRING(subject), P2QSTRING(description), type == SystemMessage ? QSystemTrayIcon::Information : QSystemTrayIcon::NoIcon, timeout * 1000);
}
void WindowsNotifier::handleMessageClicked() {
if (lastCallback) {
lastCallback();
}
}
+void WindowsNotifier::purgeCallbacks() {
+ lastCallback = boost::function<void()>();
+}
+
}
diff --git a/Swift/QtUI/WindowsNotifier.h b/Swift/QtUI/WindowsNotifier.h
index 062b76f..b2b5577 100644
--- a/Swift/QtUI/WindowsNotifier.h
+++ b/Swift/QtUI/WindowsNotifier.h
@@ -17,19 +17,20 @@ class QSystemTrayIcon;
namespace Swift {
class WindowsNotifier : public QObject, public Notifier {
Q_OBJECT
public:
WindowsNotifier(const std::string& name, const boost::filesystem::path& icon, QSystemTrayIcon* tray);
~WindowsNotifier();
virtual void showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picture, boost::function<void()> callback);
-
+ virtual void purgeCallbacks();
+
private slots:
void handleMessageClicked();
private:
QSystemTrayIcon* tray;
Win32NotifierWindow* notifierWindow;
SnarlNotifier* snarlNotifier;
boost::function<void()> lastCallback;
};