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.
This commit is contained in:
Matthias Clasen
2019-04-27 03:14:36 +00:00
parent 3d486cac86
commit 6120eb19d4
2 changed files with 14 additions and 2 deletions

View File

@@ -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 *

View File

@@ -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