popupMenu: Respect items' :can-focus property
Menu items use a single 'active' state that follows both hover and keyboard focus. It therefore makes sense for the active item to always grab the focus, in particular as an item that is sensitive but not focusable by keynav would be rather weird. As it turns out, we do have a case that is weird enough where we want exactly that, so only grab focus if the actor's :can-focus property allows it. https://gitlab.gnome.org/GNOME/gnome-shell/issues/171
This commit is contained in:
parent
1eb7ba0506
commit
24a26e025b
@ -173,7 +173,8 @@ var PopupBaseMenuItem = class {
|
|||||||
this.active = active;
|
this.active = active;
|
||||||
if (active) {
|
if (active) {
|
||||||
this.actor.add_style_class_name('selected');
|
this.actor.add_style_class_name('selected');
|
||||||
this.actor.grab_key_focus();
|
if (this.actor.can_focus)
|
||||||
|
this.actor.grab_key_focus();
|
||||||
} else {
|
} else {
|
||||||
this.actor.remove_style_class_name('selected');
|
this.actor.remove_style_class_name('selected');
|
||||||
// Remove the CSS active state if the user press the button and
|
// Remove the CSS active state if the user press the button and
|
||||||
|
Loading…
Reference in New Issue
Block a user