diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-04-27 03:12:54 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-04-29 02:37:58 +0000 |
commit | eff272df9dfec2210a37db3301b723a95ba263b5 (patch) | |
tree | 2b0b9da763e5c9e063c4fab381979a9722fdfd7b | |
parent | 1273360b3688b585183e245ecfeec0f1d4893b21 (diff) | |
download | gtk+-eff272df9dfec2210a37db3301b723a95ba263b5.tar.gz |
window: Add a gtk.activate-default action
This will replace other activate_default apis.
-rw-r--r-- | gtk/gtkwindow.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 3e54b4a573..29aa75ee63 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1789,6 +1789,31 @@ gtk_window_capture_motion (GtkWidget *widget, } static void +activate_default_cb (GSimpleAction *action, + GVariant *parameter, + gpointer data) +{ + gtk_window_activate_default (GTK_WINDOW (data)); +} + +static void +add_actions (GtkWindow *window) +{ + GActionEntry entries[] = { + { "activate-default", activate_default_cb, NULL, NULL, NULL }, + }; + + GActionGroup *actions; + + actions = G_ACTION_GROUP (g_simple_action_group_new ()); + g_action_map_add_action_entries (G_ACTION_MAP (actions), + entries, G_N_ELEMENTS (entries), + window); + gtk_widget_insert_action_group (GTK_WIDGET (window), "gtk", actions); + g_object_unref (actions); +} + +static void gtk_window_init (GtkWindow *window) { GtkWindowPrivate *priv = gtk_window_get_instance_private (window); @@ -1881,6 +1906,8 @@ gtk_window_init (GtkWindow *window) g_signal_connect_swapped (priv->key_controller, "focus-out", G_CALLBACK (gtk_window_focus_out), window); gtk_widget_add_controller (widget, priv->key_controller); + + add_actions (window); } static GtkGesture * |