ScreenShield: update the displayed title when the source changes

Notifications in the lock screen need to watch signals on source
and react accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=681143
This commit is contained in:
Giovanni Campagna 2012-08-04 01:16:07 +02:00
parent a29ceaa8ec
commit 59dfb5866d

View File

@ -173,7 +173,8 @@ const NotificationsBox = new Lang.Class({
} }
obj.contentUpdatedId = item.connect('content-updated', Lang.bind(this, this._onItemContentUpdated)); obj.contentUpdatedId = item.connect('content-updated', Lang.bind(this, this._onItemContentUpdated));
obj.sourceCountChangedId = item.source.connect('count-changed', Lang.bind(this, this._onSourceCountChanged)); obj.sourceCountChangedId = item.source.connect('count-changed', Lang.bind(this, this._onSourceChanged));
obj.sourceTitleChangedId = item.source.connect('title-changed', Lang.bind(this, this._onSourceChanged));
obj.sourceDestroyId = item.source.connect('destroy', Lang.bind(this, this._onSourceDestroy)); obj.sourceDestroyId = item.source.connect('destroy', Lang.bind(this, this._onSourceDestroy));
this._items.push(obj); this._items.push(obj);
@ -194,7 +195,7 @@ const NotificationsBox = new Lang.Class({
this._updateItem(obj); this._updateItem(obj);
}, },
_onSourceCountChanged: function(source) { _onSourceChanged: function(source) {
let obj = this._items[this._findSource(source)]; let obj = this._items[this._findSource(source)];
this._updateItem(obj); this._updateItem(obj);
}, },
@ -217,6 +218,7 @@ const NotificationsBox = new Lang.Class({
// make into a resident item // make into a resident item
obj.sourceBox.destroy(); obj.sourceBox.destroy();
obj.sourceBox = obj.countLabel = null; obj.sourceBox = obj.countLabel = null;
obj.resident = true;
obj.item.prepareNotificationStackForShowing(); obj.item.prepareNotificationStackForShowing();
this._residentNotificationBox.add(obj.item.notificationStackView); this._residentNotificationBox.add(obj.item.notificationStackView);