summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-04-27 03:14:36 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-04-29 02:37:58 +0000
commit6120eb19d44d96060daff4f0e84920cbdf0b18c8 (patch)
tree348ea80535d1bdca094e13061166707435c32000
parent3d486cac86d98f3524d4fc04c8c3bd8d4e5d886a (diff)
downloadgtk+-6120eb19d44d96060daff4f0e84920cbdf0b18c8.tar.gz
text, label: Handle default activation via action
We can now activate the default widget via the gtk.activate-default action. This makes it unnecessary to have a GtkRoot or GtkBud api for this.
-rw-r--r--gtk/gtklabel.c8
-rw-r--r--gtk/gtktext.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 16ef24e076..6e9f200fcf 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -6202,7 +6202,13 @@ gtk_label_activate_current_link (GtkLabel *label)
if (link)
emit_activate_link (label, link);
else
- gtk_root_activate_default (gtk_widget_get_root (widget));
+ {
+ GActionGroup *group;
+
+ group = gtk_widget_get_action_group (widget, "gtk");
+ if (group)
+ g_action_group_activate_action (group, "activate-default", NULL);
+ }
}
static GtkLabelLink *
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index aba651b8fd..016050f338 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -3845,7 +3845,13 @@ gtk_text_real_activate (GtkText *self)
GtkTextPrivate *priv = gtk_text_get_instance_private (self);
if (priv->activates_default)
- gtk_root_activate_default (gtk_widget_get_root (GTK_WIDGET (self)));
+ {
+ GActionGroup *group;
+
+ group = gtk_widget_get_action_group (GTK_WIDGET (self), "gtk");
+ if (group)
+ g_action_group_activate_action (group, "activate-default", NULL);
+ }
}
static void