summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-06-21 15:11:28 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-06-24 22:40:29 +0000
commit0a7f5f1be17be9b53531093f71417271489cea42 (patch)
tree326551eb65fd8bb37dc40cd48b48086cdb516424
parent70597de0a5b7f43b368364fd46564c0054314dda (diff)
downloadgtk+-0a7f5f1be17be9b53531093f71417271489cea42.tar.gz
text: Convert bindings from signals to actions
With this change, the context menu picks up the accels for the actions. The conversion is not complete, since we don't have actions for all bindings yet.
-rw-r--r--gtk/gtktext.c136
1 files changed, 67 insertions, 69 deletions
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index 7b1cdfbb6b..d5767210fc 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -1173,9 +1173,25 @@ gtk_text_class_init (GtkTextClass *class)
NULL,
G_TYPE_NONE, 0);
- /*
- * Key bindings
- */
+ /* Actions */
+
+ gtk_widget_class_install_action (widget_class, "clipboard.cut", NULL,
+ gtk_text_activate_clipboard_cut);
+ gtk_widget_class_install_action (widget_class, "clipboard.copy", NULL,
+ gtk_text_activate_clipboard_copy);
+ gtk_widget_class_install_action (widget_class, "clipboard.paste", NULL,
+ gtk_text_activate_clipboard_paste);
+ gtk_widget_class_install_action (widget_class, "selection.delete", NULL,
+ gtk_text_activate_selection_delete);
+ gtk_widget_class_install_action (widget_class, "selection.select-all", NULL,
+ gtk_text_activate_selection_select_all);
+ gtk_widget_class_install_action (widget_class, "misc.insert-emoji", NULL,
+ gtk_text_activate_misc_insert_emoji);
+ gtk_widget_class_install_property_action (widget_class,
+ "misc.toggle-visibility",
+ "visibility");
+
+ /* Key bindings */
/* Moving the insertion point */
add_move_binding (widget_class, GDK_KEY_Right, 0,
@@ -1226,16 +1242,14 @@ gtk_text_class_init (GtkTextClass *class)
add_move_binding (widget_class, GDK_KEY_KP_End, GDK_CONTROL_MASK,
GTK_MOVEMENT_BUFFER_ENDS, 1);
- /* Select all
- */
- gtk_widget_class_add_binding (widget_class,
+ gtk_widget_class_bind_action (widget_class,
GDK_KEY_a, GDK_CONTROL_MASK,
- (GtkShortcutFunc) gtk_text_select_all,
+ "selection.select-all",
NULL);
- gtk_widget_class_add_binding (widget_class,
+ gtk_widget_class_bind_action (widget_class,
GDK_KEY_slash, GDK_CONTROL_MASK,
- (GtkShortcutFunc) gtk_text_select_all,
+ "selection.select-all",
NULL);
/* Unselect all
@@ -1304,44 +1318,44 @@ gtk_text_class_init (GtkTextClass *class)
"(ii)", GTK_DELETE_WORD_ENDS, -1);
/* Cut/copy/paste */
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_x, GDK_CONTROL_MASK,
- "cut-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_c, GDK_CONTROL_MASK,
- "copy-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_v, GDK_CONTROL_MASK,
- "paste-clipboard",
- NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_x, GDK_CONTROL_MASK,
+ "clipboard.cut",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_c, GDK_CONTROL_MASK,
+ "clipboard.copy",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_v, GDK_CONTROL_MASK,
+ "clipboard.paste",
+ NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_Delete, GDK_SHIFT_MASK,
- "cut-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_Insert, GDK_CONTROL_MASK,
- "copy-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_Insert, GDK_SHIFT_MASK,
- "paste-clipboard",
- NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_Delete, GDK_SHIFT_MASK,
+ "clipboard.cut",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_Insert, GDK_CONTROL_MASK,
+ "clipboard.copy",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_Insert, GDK_SHIFT_MASK,
+ "clipboard.paste",
+ NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_KP_Delete, GDK_SHIFT_MASK,
- "cut-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_KP_Insert, GDK_CONTROL_MASK,
- "copy-clipboard",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_KP_Insert, GDK_SHIFT_MASK,
- "paste-clipboard",
- NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_KP_Delete, GDK_SHIFT_MASK,
+ "clipboard.cut",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_KP_Insert, GDK_CONTROL_MASK,
+ "clipboard.copy",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_KP_Insert, GDK_SHIFT_MASK,
+ "clipboard.paste",
+ NULL);
/* Overwrite */
gtk_widget_class_add_binding_signal (widget_class,
@@ -1354,33 +1368,17 @@ gtk_text_class_init (GtkTextClass *class)
NULL);
/* Emoji */
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_period, GDK_CONTROL_MASK,
- "insert-emoji",
- NULL);
- gtk_widget_class_add_binding_signal (widget_class,
- GDK_KEY_semicolon, GDK_CONTROL_MASK,
- "insert-emoji",
- NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_period, GDK_CONTROL_MASK,
+ "misc.insert-emoji",
+ NULL);
+ gtk_widget_class_bind_action (widget_class,
+ GDK_KEY_semicolon, GDK_CONTROL_MASK,
+ "misc.insert-emoji",
+ NULL);
gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_TEXT_ACCESSIBLE);
gtk_widget_class_set_css_name (widget_class, I_("text"));
-
- gtk_widget_class_install_action (widget_class, "clipboard.cut", NULL,
- gtk_text_activate_clipboard_cut);
- gtk_widget_class_install_action (widget_class, "clipboard.copy", NULL,
- gtk_text_activate_clipboard_copy);
- gtk_widget_class_install_action (widget_class, "clipboard.paste", NULL,
- gtk_text_activate_clipboard_paste);
- gtk_widget_class_install_action (widget_class, "selection.delete", NULL,
- gtk_text_activate_selection_delete);
- gtk_widget_class_install_action (widget_class, "selection.select-all", NULL,
- gtk_text_activate_selection_select_all);
- gtk_widget_class_install_action (widget_class, "misc.insert-emoji", NULL,
- gtk_text_activate_misc_insert_emoji);
- gtk_widget_class_install_property_action (widget_class,
- "misc.toggle-visibility",
- "visibility");
}
static void