diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2020-02-06 15:00:31 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-03-18 23:00:50 -0400 |
commit | 252030ba595888d0a463a69c3a211ea497369682 (patch) | |
tree | c88a90c1c829b1cae6e02187b8dfd58e64bc77a7 /gtk/gtkpopovermenu.c | |
parent | f24cf29326641c23eec8478fb8dd9ff5360e5dfe (diff) | |
download | gtk+-252030ba595888d0a463a69c3a211ea497369682.tar.gz |
popovermenu: Port to shortcuts
Diffstat (limited to 'gtk/gtkpopovermenu.c')
-rw-r--r-- | gtk/gtkpopovermenu.c | 84 |
1 files changed, 40 insertions, 44 deletions
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c index d9779bd2f7..edfbdb078c 100644 --- a/gtk/gtkpopovermenu.c +++ b/gtk/gtkpopovermenu.c @@ -32,7 +32,6 @@ #include "gtkeventcontrollermotion.h" #include "gtkmain.h" #include "gtktypebuiltins.h" -#include "gtkbindings.h" #include "gtkmodelbuttonprivate.h" #include "gtkpopovermenubar.h" @@ -362,37 +361,37 @@ gtk_popover_menu_focus (GtkWidget *widget, static void -add_tab_bindings (GtkBindingSet *binding_set, +add_tab_bindings (GtkWidgetClass *widget_class, GdkModifierType modifiers, GtkDirectionType direction) { - gtk_binding_entry_add_signal (binding_set, GDK_KEY_Tab, modifiers, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Tab, modifiers, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_Tab, modifiers, + "move-focus", + "(i)", direction); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_KP_Tab, modifiers, + "move-focus", + "(i)", direction); } static void -add_arrow_bindings (GtkBindingSet *binding_set, +add_arrow_bindings (GtkWidgetClass *widget_class, guint keysym, GtkDirectionType direction) { guint keypad_keysym = keysym - GDK_KEY_Left + GDK_KEY_KP_Left; - gtk_binding_entry_add_signal (binding_set, keysym, 0, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); - gtk_binding_entry_add_signal (binding_set, keysym, GDK_CONTROL_MASK, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); - gtk_binding_entry_add_signal (binding_set, keypad_keysym, 0, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); - gtk_binding_entry_add_signal (binding_set, keypad_keysym, GDK_CONTROL_MASK, - "move-focus", 1, - GTK_TYPE_DIRECTION_TYPE, direction); + gtk_widget_class_add_binding_signal (widget_class, keysym, 0, + "move-focus", + "(i)", direction); + gtk_widget_class_add_binding_signal (widget_class, keysym, GDK_CONTROL_MASK, + "move-focus", + "(i)", direction); + gtk_widget_class_add_binding_signal (widget_class, keypad_keysym, 0, + "move-focus", + "(i)", direction); + gtk_widget_class_add_binding_signal (widget_class, keypad_keysym, GDK_CONTROL_MASK, + "move-focus", + "(i)", direction); } static void @@ -408,7 +407,6 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass) { GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); - GtkBindingSet *binding_set; object_class->dispose = gtk_popover_menu_dispose; object_class->set_property = gtk_popover_menu_set_property; @@ -435,28 +433,26 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass) G_TYPE_MENU_MODEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - binding_set = gtk_binding_set_by_class (klass); - - add_arrow_bindings (binding_set, GDK_KEY_Up, GTK_DIR_UP); - add_arrow_bindings (binding_set, GDK_KEY_Down, GTK_DIR_DOWN); - add_arrow_bindings (binding_set, GDK_KEY_Left, GTK_DIR_LEFT); - add_arrow_bindings (binding_set, GDK_KEY_Right, GTK_DIR_RIGHT); - - add_tab_bindings (binding_set, 0, GTK_DIR_TAB_FORWARD); - add_tab_bindings (binding_set, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD); - add_tab_bindings (binding_set, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD); - add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD); - - gtk_binding_entry_add_signal (binding_set, GDK_KEY_Return, 0, - "activate-default", 0); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_ISO_Enter, 0, - "activate-default", 0); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Enter, 0, - "activate-default", 0); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_space, 0, - "activate-default", 0); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Space, 0, - "activate-default", 0); + add_arrow_bindings (widget_class, GDK_KEY_Up, GTK_DIR_UP); + add_arrow_bindings (widget_class, GDK_KEY_Down, GTK_DIR_DOWN); + add_arrow_bindings (widget_class, GDK_KEY_Left, GTK_DIR_LEFT); + add_arrow_bindings (widget_class, GDK_KEY_Right, GTK_DIR_RIGHT); + + add_tab_bindings (widget_class, 0, GTK_DIR_TAB_FORWARD); + add_tab_bindings (widget_class, GDK_CONTROL_MASK, GTK_DIR_TAB_FORWARD); + add_tab_bindings (widget_class, GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD); + add_tab_bindings (widget_class, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD); + + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_Return, 0, + "activate-default", NULL); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_ISO_Enter, 0, + "activate-default", NULL); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_KP_Enter, 0, + "activate-default", NULL); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_space, 0, + "activate-default", NULL); + gtk_widget_class_add_binding_signal (widget_class, GDK_KEY_KP_Space, 0, + "activate-default", NULL); } /** |