summaryrefslogtreecommitdiff
path: root/gtk/gtkpopovermenu.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-03-24 12:45:12 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-03-25 23:14:45 -0400
commit591f6bd7a97d179fefd255456f5dc90d417a0c06 (patch)
treeb39952147ef893c1db9b84fd9d1f08104c3f830b /gtk/gtkpopovermenu.c
parent642503afb4e9ad726237fb2241c8df3288a2da8e (diff)
downloadgtk+-591f6bd7a97d179fefd255456f5dc90d417a0c06.tar.gz
popovermenu: Show mnemonics on keynav
This is the expected behavior for menus.
Diffstat (limited to 'gtk/gtkpopovermenu.c')
-rw-r--r--gtk/gtkpopovermenu.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c
index 23375dd0c1..39c159ad45 100644
--- a/gtk/gtkpopovermenu.c
+++ b/gtk/gtkpopovermenu.c
@@ -230,6 +230,8 @@ gtk_popover_menu_init (GtkPopoverMenu *popover)
gtk_shortcut_controller_set_mnemonics_modifiers (GTK_SHORTCUT_CONTROLLER (controller), 0);
}
g_list_free (controllers);
+
+ gtk_popover_disable_auto_mnemonics (GTK_POPOVER (popover));
}
static void
@@ -416,6 +418,15 @@ gtk_popover_menu_show (GtkWidget *widget)
}
static void
+gtk_popover_menu_move_focus (GtkWidget *widget,
+ GtkDirectionType direction)
+{
+ gtk_popover_set_mnemonics_visible (GTK_POPOVER (widget), TRUE);
+
+ GTK_WIDGET_CLASS (gtk_popover_menu_parent_class)->move_focus (widget, direction);
+}
+
+static void
gtk_popover_menu_class_init (GtkPopoverMenuClass *klass)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
@@ -429,6 +440,7 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass)
widget_class->unmap = gtk_popover_menu_unmap;
widget_class->focus = gtk_popover_menu_focus;
widget_class->show = gtk_popover_menu_show;
+ widget_class->move_focus = gtk_popover_menu_move_focus;
g_object_class_install_property (object_class,
PROP_VISIBLE_SUBMENU,