aboutsummaryrefslogtreecommitdiffstats
path: root/lib/prompts.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/prompts.js')
-rw-r--r--lib/prompts.js37
1 files changed, 36 insertions, 1 deletions
diff --git a/lib/prompts.js b/lib/prompts.js
index bf37818..bb42c39 100644
--- a/lib/prompts.js
+++ b/lib/prompts.js
@@ -109,4 +109,39 @@ exports.promptFileOpenPicker = function promptFilePicker (win) {
return fp.file.path
}
return null;
-}; \ No newline at end of file
+};
+
+/**
+ * Show a system notification with the given message
+ *
+ * @param msg String or Object with a message to be shown in a default
+ * notification or object with properties title, icon, and body
+ * @param callback Function called when user clicks on the notification (optional)
+ * @return None
+ */
+exports.notification = function notification(msg) {
+ var body = msg;
+ var title = "Bugzilla Notification";
+ var icon = null;
+ var textClickable = false;
+
+ if (typeof(msg) === "object") {
+ body = msg.body;
+ if ("title" in msg) {
+ title = msg.title;
+ }
+ if ("icon" in msg) {
+ icon = msg.icon;
+ }
+ }
+ try {
+ var classObj = Cc["@mozilla.org/alerts-service;1"];
+ var alertService = classObj.getService(Ci.nsIAlertsService);
+
+ alertService.showAlertNotification(icon, title, body);
+ return true;
+ } catch (e) {
+ console.error("Unable to display notification:", msg);
+ return false;
+ }
+};