summaryrefslogtreecommitdiff
path: root/saltoqd/notificationmanager.cpp
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2015-03-31 02:38:50 +0200
committerJavier <dev.git@javispedro.com>2015-03-31 02:38:50 +0200
commit631af0284a651f1698e4796c2e39aabb83a3bfca (patch)
treec7a2e0f5a898c4a68aa9482757718364ba93f83f /saltoqd/notificationmanager.cpp
parent1a72dfb10bb0189e842c754b3550795538a79493 (diff)
downloadsaltoq-631af0284a651f1698e4796c2e39aabb83a3bfca.tar.gz
saltoq-631af0284a651f1698e4796c2e39aabb83a3bfca.zip
parse incoming card events
Diffstat (limited to 'saltoqd/notificationmanager.cpp')
-rw-r--r--saltoqd/notificationmanager.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/saltoqd/notificationmanager.cpp b/saltoqd/notificationmanager.cpp
index c78fffb..f6b626f 100644
--- a/saltoqd/notificationmanager.cpp
+++ b/saltoqd/notificationmanager.cpp
@@ -14,7 +14,8 @@ NotificationManager::NotificationManager(CardManager *card, ToqManager *toq) :
void NotificationManager::handleNotification(MonitoredNotification *n)
{
- Card *card = new Card(QString::number(qint64(n->id())));
+ uint notificationId = n->id();
+ Card *card = new Card(QString::number(qint64(notificationId)));
card->setHeader(n->sender());
card->setTitle(n->summary());
@@ -25,15 +26,20 @@ void NotificationManager::handleNotification(MonitoredNotification *n)
connect(n, &MonitoredNotification::closed,
this, &NotificationManager::handleClosedNotification);
+ _cards.insert(notificationId, card);
_deck->appendCard(card);
}
void NotificationManager::handleClosedNotification()
{
MonitoredNotification *n = static_cast<MonitoredNotification*>(sender());
- Card *card = _cards.take(n);
+ uint notificationId = n->id();
+ Card *card = _cards.take(notificationId);
if (card) {
_deck->removeCard(card);
card->deleteLater();
+ } else {
+ qDebug() << "Notification" << notificationId << "does not have an attached card";
}
+ disconnect(n, 0, this, 0);
}