appMenu: Update on icon theme changes
While we recreate icons on style changes elsewhere, the faded icon in the application menu will stick around after icon theme changes until another application is focused. https://bugzilla.gnome.org/show_bug.cgi?id=687224
This commit is contained in:
parent
307f7a3024
commit
04da29c939
@ -247,6 +247,10 @@ const AppMenuButton = new Lang.Class({
|
|||||||
this._container.connect('get-preferred-height', Lang.bind(this, this._getContentPreferredHeight));
|
this._container.connect('get-preferred-height', Lang.bind(this, this._getContentPreferredHeight));
|
||||||
this._container.connect('allocate', Lang.bind(this, this._contentAllocate));
|
this._container.connect('allocate', Lang.bind(this, this._contentAllocate));
|
||||||
|
|
||||||
|
let textureCache = St.TextureCache.get_default();
|
||||||
|
textureCache.connect('icon-theme-changed',
|
||||||
|
Lang.bind(this, this._onIconThemeChanged));
|
||||||
|
|
||||||
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
|
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
|
||||||
this._iconBox.connect('style-changed',
|
this._iconBox.connect('style-changed',
|
||||||
Lang.bind(this, this._onIconBoxStyleChanged));
|
Lang.bind(this, this._onIconBoxStyleChanged));
|
||||||
@ -332,6 +336,15 @@ const AppMenuButton = new Lang.Class({
|
|||||||
this._updateIconBoxClip();
|
this._updateIconBoxClip();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onIconThemeChanged: function() {
|
||||||
|
if (this._iconBox.child == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._iconBox.child.destroy();
|
||||||
|
let icon = this._targetApp.get_faded_icon(2 * PANEL_ICON_SIZE);
|
||||||
|
this._iconBox.set_child(icon);
|
||||||
|
},
|
||||||
|
|
||||||
_updateIconBoxClip: function() {
|
_updateIconBoxClip: function() {
|
||||||
let allocation = this._iconBox.allocation;
|
let allocation = this._iconBox.allocation;
|
||||||
if (this._iconBottomClip > 0)
|
if (this._iconBottomClip > 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user