From 1ef5281c5504a72fe13314a721ff3f9c676ce7cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 14 Feb 2015 02:33:54 +0100 Subject: [PATCH] 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 --- js/ui/messageTray.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 9a56bd7c2..7d22a425b 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -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);