diff options
Diffstat (limited to 'lib/prompts.js')
-rw-r--r-- | lib/prompts.js | 37 |
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; + } +}; |