messageTray: Split out the notification's destroy handler
This is complex enough to split out. https://bugzilla.gnome.org/show_bug.cgi?id=710115
This commit is contained in:
parent
99cf4e5787
commit
25fd23e703
@ -1406,23 +1406,24 @@ const Source = new Lang.Class({
|
||||
return this._mainIcon.actor;
|
||||
},
|
||||
|
||||
_onNotificationDestroy: function(notification) {
|
||||
let index = this.notifications.indexOf(notification);
|
||||
if (index < 0)
|
||||
return;
|
||||
|
||||
this.notifications.splice(index, 1);
|
||||
if (this.notifications.length == 0)
|
||||
this._lastNotificationRemoved();
|
||||
|
||||
this.countUpdated();
|
||||
},
|
||||
|
||||
pushNotification: function(notification) {
|
||||
if (this.notifications.indexOf(notification) >= 0)
|
||||
return;
|
||||
|
||||
notification.connect('clicked', Lang.bind(this, this.open));
|
||||
notification.connect('destroy', Lang.bind(this,
|
||||
function () {
|
||||
let index = this.notifications.indexOf(notification);
|
||||
if (index < 0)
|
||||
return;
|
||||
|
||||
this.notifications.splice(index, 1);
|
||||
if (this.notifications.length == 0)
|
||||
this._lastNotificationRemoved();
|
||||
|
||||
this.countUpdated();
|
||||
}));
|
||||
notification.connect('destroy', Lang.bind(this, this._onNotificationDestroy));
|
||||
|
||||
this.notifications.push(notification);
|
||||
this.emit('notification-added', notification);
|
||||
|
Loading…
Reference in New Issue
Block a user