summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SwifTools/Notifier/SnarlNotifier.cpp1
-rw-r--r--SwifTools/Notifier/SnarlNotifier.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/SwifTools/Notifier/SnarlNotifier.cpp b/SwifTools/Notifier/SnarlNotifier.cpp
index ccdf26c..7312edb 100644
--- a/SwifTools/Notifier/SnarlNotifier.cpp
+++ b/SwifTools/Notifier/SnarlNotifier.cpp
@@ -35,6 +35,7 @@ SnarlNotifier::~SnarlNotifier() {
}
void SnarlNotifier::showMessage(Type type, const String& subject, const String& description, const boost::filesystem::path& picture, boost::function<void()> callback) {
+ int timeout = (type == Type::IncomingMessage || type == Type::SystemMessage) ? MESSAGE_NOTIFICATION_TIMEOUT : STATUS_NOTIFICATION_TIMEOUT;
int notificationID = snarl.ShowMessageEx(typeToString(type).getUTF8Data(), subject.getUTF8Data(), description.getUTF8Data(), timeout, picture.string().c_str(), window->getID(), SWIFT_SNARLNOTIFIER_MESSAGE_ID);
if (notificationID > 0) {
notifications.insert(std::make_pair(notificationID, callback));
diff --git a/SwifTools/Notifier/SnarlNotifier.h b/SwifTools/Notifier/SnarlNotifier.h
index d744023..2f64166 100644
--- a/SwifTools/Notifier/SnarlNotifier.h
+++ b/SwifTools/Notifier/SnarlNotifier.h
@@ -25,7 +25,8 @@ namespace Swift {
void handleMessageReceived(MSG* message);
private:
- static const int timeout = 3;
+ static const int STATUS_NOTIFICATION_TIMEOUT = 3;
+ static const int MESSAGE_NOTIFICATION_TIMEOUT = 5;
Snarl::SnarlInterface snarl;
Win32NotifierWindow* window;
typedef std::map<int, boost::function<void()> > NotificationsMap;