summaryrefslogtreecommitdiff
path: root/gtk/gtkiconview.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-08-12 17:07:23 +0200
committerMatthias Clasen <mclasen@redhat.com>2020-03-18 23:00:50 -0400
commit4b798e238fbbcc69293c84747551b5d1b472630c (patch)
treeefa9264afb26abfd166f25fb57fea4fe35f2c51e /gtk/gtkiconview.c
parent718faf68ac7e1f575b386a5792ed0156231d6ce2 (diff)
downloadgtk+-4b798e238fbbcc69293c84747551b5d1b472630c.tar.gz
iconview: Port bindings to use shortcuts
Diffstat (limited to 'gtk/gtkiconview.c')
-rw-r--r--gtk/gtkiconview.c144
1 files changed, 77 insertions, 67 deletions
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index ab9a9edced..f3bb6ead98 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -21,7 +21,6 @@
#include "gtkaccessible.h"
#include "gtkadjustmentprivate.h"
-#include "gtkbindings.h"
#include "gtkcellareabox.h"
#include "gtkcellareacontext.h"
#include "gtkcelllayout.h"
@@ -235,7 +234,7 @@ static gboolean gtk_icon_view_unselect_all_internal (GtkIco
static void gtk_icon_view_update_rubberband (GtkIconView *icon_view);
static void gtk_icon_view_item_invalidate_size (GtkIconViewItem *item);
static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view);
-static void gtk_icon_view_add_move_binding (GtkBindingSet *binding_set,
+static void gtk_icon_view_add_move_binding (GtkWidgetClass *widget_class,
guint keyval,
guint modmask,
GtkMovementStep step,
@@ -337,16 +336,9 @@ G_DEFINE_TYPE_WITH_CODE (GtkIconView, gtk_icon_view, GTK_TYPE_CONTAINER,
static void
gtk_icon_view_class_init (GtkIconViewClass *klass)
{
- GObjectClass *gobject_class;
- GtkWidgetClass *widget_class;
- GtkContainerClass *container_class;
- GtkBindingSet *binding_set;
-
- binding_set = gtk_binding_set_by_class (klass);
-
- gobject_class = (GObjectClass *) klass;
- widget_class = (GtkWidgetClass *) klass;
- container_class = (GtkContainerClass *) klass;
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+ GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
gobject_class->constructed = gtk_icon_view_constructed;
gobject_class->dispose = gtk_icon_view_dispose;
@@ -813,70 +805,88 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
_gtk_marshal_BOOLEAN__ENUM_INTv);
/* Key bindings */
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_a, GDK_CONTROL_MASK,
- "select-all", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_a, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "unselect-all", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_space, GDK_CONTROL_MASK,
- "toggle-cursor-item", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Space, GDK_CONTROL_MASK,
- "toggle-cursor-item", 0);
-
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_space, 0,
- "activate-cursor-item", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Space, 0,
- "activate-cursor-item", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_Return, 0,
- "activate-cursor-item", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_ISO_Enter, 0,
- "activate-cursor-item", 0);
- gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Enter, 0,
- "activate-cursor-item", 0);
-
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Up, 0,
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_a, GDK_CONTROL_MASK,
+ "select-all",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_a, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
+ "unselect-all",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_space, GDK_CONTROL_MASK,
+ "toggle-cursor-item",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_KP_Space, GDK_CONTROL_MASK,
+ "toggle-cursor-item",
+ NULL);
+
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_space, 0,
+ "activate-cursor-item",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_KP_Space, 0,
+ "activate-cursor-item",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_Return, 0,
+ "activate-cursor-item",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_ISO_Enter, 0,
+ "activate-cursor-item",
+ NULL);
+ gtk_widget_class_add_binding_signal (widget_class,
+ GDK_KEY_KP_Enter, 0,
+ "activate-cursor-item",
+ NULL);
+
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Up, 0,
GTK_MOVEMENT_DISPLAY_LINES, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Up, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Up, 0,
GTK_MOVEMENT_DISPLAY_LINES, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Down, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Down, 0,
GTK_MOVEMENT_DISPLAY_LINES, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Down, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Down, 0,
GTK_MOVEMENT_DISPLAY_LINES, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_p, GDK_CONTROL_MASK,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_p, GDK_CONTROL_MASK,
GTK_MOVEMENT_DISPLAY_LINES, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_n, GDK_CONTROL_MASK,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_n, GDK_CONTROL_MASK,
GTK_MOVEMENT_DISPLAY_LINES, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Home, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Home, 0,
GTK_MOVEMENT_BUFFER_ENDS, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Home, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Home, 0,
GTK_MOVEMENT_BUFFER_ENDS, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_End, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_End, 0,
GTK_MOVEMENT_BUFFER_ENDS, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_End, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_End, 0,
GTK_MOVEMENT_BUFFER_ENDS, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Page_Up, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Page_Up, 0,
GTK_MOVEMENT_PAGES, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Page_Up, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Page_Up, 0,
GTK_MOVEMENT_PAGES, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Page_Down, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Page_Down, 0,
GTK_MOVEMENT_PAGES, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Page_Down, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Page_Down, 0,
GTK_MOVEMENT_PAGES, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Right, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Right, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_Left, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_Left, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, -1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Right, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Right, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, 1);
- gtk_icon_view_add_move_binding (binding_set, GDK_KEY_KP_Left, 0,
+ gtk_icon_view_add_move_binding (widget_class, GDK_KEY_KP_Left, 0,
GTK_MOVEMENT_VISUAL_POSITIONS, -1);
gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_ICON_VIEW_ACCESSIBLE);
@@ -3405,35 +3415,35 @@ gtk_icon_view_build_items (GtkIconView *icon_view)
}
static void
-gtk_icon_view_add_move_binding (GtkBindingSet *binding_set,
+gtk_icon_view_add_move_binding (GtkWidgetClass *widget_class,
guint keyval,
guint modmask,
GtkMovementStep step,
gint count)
{
- gtk_binding_entry_add_signal (binding_set, keyval, modmask,
- I_("move-cursor"), 2,
- G_TYPE_ENUM, step,
- G_TYPE_INT, count);
+ gtk_widget_class_add_binding_signal (widget_class,
+ keyval, modmask,
+ I_("move-cursor"),
+ "(ii)", step, count);
- gtk_binding_entry_add_signal (binding_set, keyval, GDK_SHIFT_MASK,
- "move-cursor", 2,
- G_TYPE_ENUM, step,
- G_TYPE_INT, count);
+ gtk_widget_class_add_binding_signal (widget_class,
+ keyval, GDK_SHIFT_MASK,
+ "move-cursor",
+ "(ii)", step, count);
if ((modmask & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
return;
- gtk_binding_entry_add_signal (binding_set, keyval, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
- "move-cursor", 2,
- G_TYPE_ENUM, step,
- G_TYPE_INT, count);
+ gtk_widget_class_add_binding_signal (widget_class,
+ keyval, GDK_CONTROL_MASK | GDK_SHIFT_MASK,
+ "move-cursor",
+ "(ii)", step, count);
- gtk_binding_entry_add_signal (binding_set, keyval, GDK_CONTROL_MASK,
- "move-cursor", 2,
- G_TYPE_ENUM, step,
- G_TYPE_INT, count);
+ gtk_widget_class_add_binding_signal (widget_class,
+ keyval, GDK_CONTROL_MASK,
+ "move-cursor",
+ "(ii)", step, count);
}
static gboolean