messageTray: Notify when notifications are acknowledged

Source::count-updated is emitted as notifications are added or removed,
which is correct for the primary notification count. However it is not
for the unseen count, which will also change when a notification is
acknowledged without being removed. At the moment this does not matter,
as the unseen count is only used on the screen shield and notifications
are never acknowledged while the screen is locked. However we will soon
use the unseen count in the normal session as well, so emit the signal
in this case too.

https://bugzilla.gnome.org/show_bug.cgi?id=744850
This commit is contained in:
Florian Müllner 2015-02-14 02:33:54 +01:00
parent 77413feb57
commit 1ef5281c55

View File

@ -480,7 +480,7 @@ const Notification = new Lang.Class({
this.forFeedback = false;
this.expanded = false;
this.focused = false;
this.acknowledged = false;
this._acknowledged = false;
this._destroyed = false;
this._customContent = false;
this.bannerBodyText = null;
@ -822,6 +822,17 @@ const Notification = new Lang.Class({
return this.addButton(button, callback);
},
get acknowledged() {
return this._acknowledged;
},
set acknowledged(v) {
if (this._acknowledged == v)
return;
this._acknowledged = v;
this.emit('acknowledged-changed');
},
setUrgency: function(urgency) {
this.urgency = urgency;
},
@ -1292,6 +1303,7 @@ const Source = new Lang.Class({
return;
notification.connect('destroy', Lang.bind(this, this._onNotificationDestroy));
notification.connect('acknowledged-changed', Lang.bind(this, this.countUpdated));
this.notifications.push(notification);
this.emit('notification-added', notification);