summaryrefslogtreecommitdiff
path: root/gtk/gtkpopovermenu.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-02-06 15:00:31 +0000
committerMatthias Clasen <mclasen@redhat.com>2020-03-18 23:00:50 -0400
commit252030ba595888d0a463a69c3a211ea497369682 (patch)
treec88a90c1c829b1cae6e02187b8dfd58e64bc77a7 /gtk/gtkpopovermenu.c
parentf24cf29326641c23eec8478fb8dd9ff5360e5dfe (diff)
downloadgtk+-252030ba595888d0a463a69c3a211ea497369682.tar.gz
popovermenu: Port to shortcuts
Diffstat (limited to 'gtk/gtkpopovermenu.c')
-rw-r--r--gtk/gtkpopovermenu.c84
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);
}
/**