[gnome-shell/wip/fmuellner/notification-redux+sass: 110/122] messageTray: Add buttons from Notification object



commit 0c4d72984ea5027ad1064895965c7d54d2cbc00f
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Feb 17 03:11:50 2015 +0100

    messageTray: Add buttons from Notification object

 js/ui/messageTray.js |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index 24f3192..c195fd9 100644
--- a/js/ui/messageTray.js
+++ b/js/ui/messageTray.js
@@ -499,8 +499,27 @@ const NotificationBanner = new Lang.Class({
         this.parent(notification);
 
         this.actor.add_style_class_name('notification-banner');
+        this.actor.connect('destroy', Lang.bind(this, this._onDestroyed));
 
         this._buttonBox = null;
+
+        this.notification.actions.forEach(Lang.bind(this,
+            function(action) {
+                this.addAction(action.label, action.callback);
+            }));
+
+        this._activatedId = this.notification.connect('activated',
+            Lang.bind(this, function() {
+                // We hide all types of notifications once the user clicks on
+                // them because the common outcome of clicking should be the
+                // relevant window being brought forward and the user's
+                // attention switching to the window.
+                this.emit('done-displaying');
+            }));
+    },
+
+    _onDestroyed: function() {
+        this.notification.disconnect(this._activatedId);
     },
 
     addButton: function(button, callback) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]