#include "notificationmanager.h" #include "notificationmonitor.h" NotificationManager::NotificationManager(CardManager *card, ToqManager *toq) : QObject(toq), _toq(toq), _monitor(NotificationMonitor::instance()), _card(card), _deck(new CardDeck("com.qualcomm.qce.androidnotifications", "Notifications", this)) { _card->installDeck(_deck); connect(_monitor, &NotificationMonitor::notification, this, &NotificationManager::handleNotification); } void NotificationManager::handleNotification(MonitoredNotification *n) { Card *card = new Card(QString::number(qint64(n->id()))); card->setHeader(n->sender()); card->setTitle(n->summary()); card->setText(n->body()); card->setDateTime(n->timestamp()); card->setVibrate(true); connect(n, &MonitoredNotification::closed, this, &NotificationManager::handleClosedNotification); _deck->appendCard(card); } void NotificationManager::handleClosedNotification() { MonitoredNotification *n = static_cast(sender()); Card *card = _cards.take(n); if (card) { _deck->removeCard(card); card->deleteLater(); } }