Implement desktop notification for mac
3 files changed, 36 insertions, 0 deletions
diff --git a/src/notifications/ManagerLinux.cpp b/src/notifications/ManagerLinux.cpp
new file mode 100644
index 00000000..a913128e
--- /dev/null
+++ b/src/notifications/ManagerLinux.cpp
@@ -0,0 +1,7 @@
+#include "notifications/Manager.h"
+
+void
+NotificationsManager::postNotification(const QString &, const QString &, const QString &)
+{
+ // TODO: To be implemented
+}
diff --git a/src/notifications/ManagerMac.mm b/src/notifications/ManagerMac.mm
new file mode 100644
index 00000000..48fb46ca
--- /dev/null
+++ b/src/notifications/ManagerMac.mm
@@ -0,0 +1,22 @@
+#include "notifications/Manager.h"
+
+#include <Foundation/Foundation.h>
+#include <QtMac>
+
+@interface NSUserNotification (CFIPrivate)
+- (void)set_identityImage:(NSImage *)image;
+@end
+
+void
+NotificationsManager::postNotification(const QString &roomName, const QString &userName, const QString &message)
+{
+ NSUserNotification * notif = [[NSUserNotification alloc] init];
+
+ notif.title = roomName.toNSString();
+ notif.subtitle = QString("%1 sent a message").arg(userName).toNSString();
+ notif.informativeText = message.toNSString();
+ notif.soundName = NSUserNotificationDefaultSoundName;
+
+ [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification: notif];
+ [notif autorelease];
+}
diff --git a/src/notifications/ManagerWin.cpp b/src/notifications/ManagerWin.cpp
new file mode 100644
index 00000000..a913128e
--- /dev/null
+++ b/src/notifications/ManagerWin.cpp
@@ -0,0 +1,7 @@
+#include "notifications/Manager.h"
+
+void
+NotificationsManager::postNotification(const QString &, const QString &, const QString &)
+{
+ // TODO: To be implemented
+}
|