diff options
Diffstat (limited to 'meegohandsetnotification/watchnotificationsink.cpp')
-rw-r--r-- | meegohandsetnotification/watchnotificationsink.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/meegohandsetnotification/watchnotificationsink.cpp b/meegohandsetnotification/watchnotificationsink.cpp index 0d97562..c80c4ae 100644 --- a/meegohandsetnotification/watchnotificationsink.cpp +++ b/meegohandsetnotification/watchnotificationsink.cpp @@ -13,10 +13,16 @@ void WatchNotificationSink::addNotification(const Notification ¬ification) { const NotificationParameters& p = notification.parameters(); sowatch::Notification::Type type = notificationTypeFromEventType(p.value("eventType").toString()); - uint count = p.value("count").toUInt(); + const uint count = p.value("count").toUInt(); + const uint notificationId = notification.notificationId(); + + if (_trackedNotifications.contains(notificationId)) { + const NotificationParameters& oldParams = _trackedNotifications[notificationId].parameters(); + _counts[type] -= oldParams.value("count").toUInt(); + } _counts[type] += count; - _trackedNotifications[notification.notificationId()] = notification; + _trackedNotifications[notificationId] = notification; emit countsChanged(type); @@ -61,12 +67,17 @@ int WatchNotificationSink::getCount(sowatch::Notification::Type type) sowatch::Notification::Type WatchNotificationSink::notificationTypeFromEventType(const QString& eventType) { + qDebug() << "incoming " << eventType; if (eventType == "email.arrived") return sowatch::Notification::EmailNotification; else if (eventType == "x-nokia.call.missed") return sowatch::Notification::MissedCallNotification; else if (eventType == "x-nokia.messaging.im") return sowatch::Notification::ImNotification; + else if (eventType == "x-nokia.messaging.sms") + return sowatch::Notification::SmsNotification; + else if (eventType == "x-nokia.messaging.mms") + return sowatch::Notification::MmsNotification; else return sowatch::Notification::OtherNotification; } |