[gtk/wip/matthiasc/shortcut-4: 127/139] popovermenu: Make mnemonics work without Alt
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/matthiasc/shortcut-4: 127/139] popovermenu: Make mnemonics work without Alt
- Date: Thu, 26 Mar 2020 02:47:32 +0000 (UTC)
commit c4fb68e2b45cd53a5d3311caf25dd11e1bb91620
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Mar 24 00:00:43 2020 -0400
popovermenu: Make mnemonics work without Alt
This is expected menu behavior.
gtk/gtkpopovermenu.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
---
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c
index edfbdb078c..23375dd0c1 100644
--- a/gtk/gtkpopovermenu.c
+++ b/gtk/gtkpopovermenu.c
@@ -34,6 +34,8 @@
#include "gtktypebuiltins.h"
#include "gtkmodelbuttonprivate.h"
#include "gtkpopovermenubar.h"
+#include "gtkshortcutmanager.h"
+#include "gtkshortcutcontroller.h"
/**
@@ -199,6 +201,7 @@ gtk_popover_menu_init (GtkPopoverMenu *popover)
{
GtkWidget *stack;
GtkEventController *controller;
+ GList *controllers, *l;
stack = gtk_stack_new ();
gtk_stack_set_vhomogeneous (GTK_STACK (stack), FALSE);
@@ -217,6 +220,16 @@ gtk_popover_menu_init (GtkPopoverMenu *popover)
controller = gtk_event_controller_motion_new ();
g_signal_connect (controller, "leave", G_CALLBACK (leave_cb), popover);
gtk_widget_add_controller (GTK_WIDGET (popover), controller);
+
+ controllers = gtk_widget_list_controllers (GTK_WIDGET (popover), GTK_PHASE_CAPTURE);
+ for (l = controllers; l; l = l->next)
+ {
+ controller = l->data;
+ if (GTK_IS_SHORTCUT_CONTROLLER (controller) &&
+ strcmp (gtk_event_controller_get_name (controller), "gtk-shortcut-manager-capture") == 0)
+ gtk_shortcut_controller_set_mnemonics_modifiers (GTK_SHORTCUT_CONTROLLER (controller), 0);
+ }
+ g_list_free (controllers);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]