summaryrefslogtreecommitdiff
path: root/sailfish/notificationmonitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sailfish/notificationmonitor.cpp')
-rw-r--r--sailfish/notificationmonitor.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/sailfish/notificationmonitor.cpp b/sailfish/notificationmonitor.cpp
deleted file mode 100644
index f22ce02..0000000
--- a/sailfish/notificationmonitor.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#include <QtCore/QDebug>
-#include <QtGui/QIcon>
-#include <QtDBus/QDBusConnection>
-#include <QtDBus/QDBusConnectionInterface>
-
-#include "notificationmonitor.h"
-#include "notifications_adaptor.h"
-
-static NotificationMonitor *global_monitor = 0;
-
-NotificationMonitor::NotificationMonitor(QObject *parent) :
- QObject(parent)
-{
- QDBusConnection bus = QDBusConnection::sessionBus();
- QDBusConnectionInterface *dbus = bus.interface();
- dbus->call("AddMatch",
- "interface='org.freedesktop.Notifications',member='Notify',type='method_call',eavesdrop='true'");
- new NotificationsAdaptor(this);
- bus.registerObject("/org/freedesktop/Notifications", this);
-}
-
-NotificationMonitor::~NotificationMonitor()
-{
- QDBusConnection bus = QDBusConnection::sessionBus();
- QDBusConnectionInterface *dbus = bus.interface();
- dbus->call("RemoveMatch",
- "interface='org.freedesktop.Notifications',member='Notify',type='method_call',eavesdrop='true'");
-}
-
-NotificationMonitor *NotificationMonitor::instance()
-{
- if (!global_monitor) {
- global_monitor = new NotificationMonitor;
- }
- return global_monitor;
-}
-
-uint NotificationMonitor::Notify(const QString &app_name, uint replaces_id, const QString &app_icon, const QString &summary, const QString &body, const QStringList &actions, const QVariantHash &hints, int expire_timeout)
-{
- QIcon icon;
-
- qDebug() << "Got notification" << app_name << app_icon << summary << body;
-
- // Avoid sending a reply for this method call, since we've received it
- // because we're eavesdropping.
- // The actual target of the method call will send the proper reply, not us.
- Q_ASSERT(calledFromDBus());
- setDelayedReply(true);
-
- // If the notification mentions a specific icon, then use it.
- // But otherwise let's prefer our builtin icons.
- if (app_icon.startsWith("/")) {
- icon = QIcon(app_icon);
- } else if (app_icon.startsWith("file:")) {
- QUrl url(app_icon);
- icon = QIcon(url.toLocalFile());
- } else {
- QString category = hints.value("category").toString();
- // Let's hardcode a few categories for now..
- if (!category.isEmpty()) {
- qDebug() << "TODO: Category icons";
- }
- }
-
- int count = hints.value("x-nemo-item-count").toInt();
- QDateTime dateTime = hints.value("x-nemo-timestamp").toDateTime();
- if (!dateTime.isValid()) {
- dateTime = QDateTime::currentDateTime();
- }
-
- if (summary.isEmpty() && body.isEmpty()) {
- // Avoid sending empty notifications to watch.
- return 0;
- }
-
- emit incomingNotification(app_name, icon, summary, count, body, dateTime);
-
- return 0;
-}