telepathyClient: update the avatar correctly when it changes
Previously, when the avatar changed, we would not update the summary icon for the source at all and would only update the notification icon when the next message was received. Instead, we should update both immediately upon recieving the signal that the avatar has changed. https://bugzilla.gnome.org/show_bug.cgi?id=659768
This commit is contained in:
parent
7c6144450a
commit
131da5f523
@ -416,6 +416,7 @@ Notification.prototype = {
|
|||||||
|
|
||||||
_init: function(source, title, banner, params) {
|
_init: function(source, title, banner, params) {
|
||||||
this.source = source;
|
this.source = source;
|
||||||
|
this.title = title;
|
||||||
this.urgency = Urgency.NORMAL;
|
this.urgency = Urgency.NORMAL;
|
||||||
this.resident = false;
|
this.resident = false;
|
||||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||||
@ -538,6 +539,7 @@ Notification.prototype = {
|
|||||||
y_fill: false,
|
y_fill: false,
|
||||||
y_align: St.Align.START });
|
y_align: St.Align.START });
|
||||||
|
|
||||||
|
this.title = title;
|
||||||
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
|
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
|
||||||
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
||||||
|
|
||||||
|
@ -543,13 +543,6 @@ ChatSource.prototype = {
|
|||||||
createNotificationIcon: function() {
|
createNotificationIcon: function() {
|
||||||
this._iconBox = new St.Bin({ style_class: 'avatar-box' });
|
this._iconBox = new St.Bin({ style_class: 'avatar-box' });
|
||||||
this._iconBox._size = this.ICON_SIZE;
|
this._iconBox._size = this.ICON_SIZE;
|
||||||
|
|
||||||
this._updateAvatarIcon();
|
|
||||||
|
|
||||||
return this._iconBox;
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateAvatarIcon: function() {
|
|
||||||
let textureCache = St.TextureCache.get_default();
|
let textureCache = St.TextureCache.get_default();
|
||||||
let file = this._contact.get_avatar_file();
|
let file = this._contact.get_avatar_file();
|
||||||
|
|
||||||
@ -561,6 +554,13 @@ ChatSource.prototype = {
|
|||||||
icon_type: St.IconType.FULLCOLOR,
|
icon_type: St.IconType.FULLCOLOR,
|
||||||
icon_size: this._iconBox._size });
|
icon_size: this._iconBox._size });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return this._iconBox;
|
||||||
|
},
|
||||||
|
|
||||||
|
_updateAvatarIcon: function() {
|
||||||
|
this._setSummaryIcon(this.createNotificationIcon());
|
||||||
|
this._notification.update(this._notification.title, null, { customContent: true, icon: this.createNotificationIcon() });
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function(notification) {
|
open: function(notification) {
|
||||||
|
Loading…
Reference in New Issue
Block a user