combo-box-menu-item: Propagate style changes to the combo menu
ComboBoxMenuItems use ClutterClones to reconstruct the active item in the associated ComboMenu to not impose a particular MenuItem type in the menu. However, this results in style changes (for instance those triggered by icon-theme or text-scaling-factor changes) of the ComboBoxMenuItem not having a visual effect until the ComboBoxMenu is shown. As a fix, force a style update on the ComboBoxMenu when the item's style changes. https://bugzilla.gnome.org/show_bug.cgi?id=662799
This commit is contained in:
parent
8678b87120
commit
d20e646ed6
@ -1500,6 +1500,8 @@ PopupComboMenu.prototype = {
|
|||||||
this.actor._delegate = this;
|
this.actor._delegate = this;
|
||||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
||||||
this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
|
this.actor.connect('key-focus-in', Lang.bind(this, this._onKeyFocusIn));
|
||||||
|
sourceActor.connect('style-changed',
|
||||||
|
Lang.bind(this, this._onSourceActorStyleChanged));
|
||||||
this._activeItemPos = -1;
|
this._activeItemPos = -1;
|
||||||
global.focus_manager.add_group(this.actor);
|
global.focus_manager.add_group(this.actor);
|
||||||
},
|
},
|
||||||
@ -1519,6 +1521,10 @@ PopupComboMenu.prototype = {
|
|||||||
activeItem.actor.grab_key_focus();
|
activeItem.actor.grab_key_focus();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_onSourceActorStyleChanged: function() {
|
||||||
|
_ensureStyle(this.actor);
|
||||||
|
},
|
||||||
|
|
||||||
open: function() {
|
open: function() {
|
||||||
if (this.isOpen)
|
if (this.isOpen)
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user