messageTray: update the SummaryItem's label based on Source title changes

https://bugzilla.gnome.org/show_bug.cgi?id=643513
This commit is contained in:
Jasper St. Pierre 2011-06-08 02:27:57 -04:00
parent 60c88612f7
commit 890efa787a
3 changed files with 16 additions and 3 deletions

View File

@ -893,6 +893,11 @@ Source.prototype = {
this.isTransient = isTransient; this.isTransient = isTransient;
}, },
setTitle: function(newTitle) {
this.title = newTitle;
this.emit('title-changed');
},
// Called to create a new icon actor (of size this.ICON_SIZE). // Called to create a new icon actor (of size this.ICON_SIZE).
// Must be overridden by the subclass if you do not pass icons // Must be overridden by the subclass if you do not pass icons
// explicitly to the Notification() constructor. // explicitly to the Notification() constructor.
@ -995,6 +1000,11 @@ SummaryItem.prototype = {
this._sourceTitleBin.child = this._sourceTitle; this._sourceTitleBin.child = this._sourceTitle;
this._sourceTitleBin.width = 0; this._sourceTitleBin.width = 0;
this.source.connect('title-changed',
Lang.bind(this, function() {
this._sourceTitle.text = source.title;
}));
this._sourceBox.add(this._sourceIcon, { y_fill: false }); this._sourceBox.add(this._sourceIcon, { y_fill: false });
this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false }); this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false });
this.actor.child = this._sourceBox; this.actor.child = this._sourceBox;

View File

@ -165,8 +165,11 @@ NotificationDaemon.prototype = {
// with a transient one from the same sender, so we // with a transient one from the same sender, so we
// always create a new source object for new transient notifications // always create a new source object for new transient notifications
// and never add it to this._sources . // and never add it to this._sources .
if (!isForTransientNotification && this._sources[pid]) if (!isForTransientNotification && this._sources[pid]) {
return this._sources[pid]; let source = this._sources[pid];
source.setTitle(title);
return source;
}
let source = new Source(title, pid); let source = new Source(title, pid);
source.setTransient(isForTransientNotification); source.setTransient(isForTransientNotification);

View File

@ -241,7 +241,7 @@ Source.prototype = {
_updateAlias: function() { _updateAlias: function() {
let oldAlias = this.title; let oldAlias = this.title;
this.title = this._contact.get_alias(); this.setTitle(this._contact.get_alias());
this._notification.appendAliasChange(oldAlias, this.title); this._notification.appendAliasChange(oldAlias, this.title);
this.pushNotification(this._notification); this.pushNotification(this._notification);
}, },