From 6df87fb5c13953a2ee2527f1ebff7a3c1444021c Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 17 Mar 2023 23:54:01 -0300 Subject: [PATCH] meeting-row: Implement grab_focus() We'll use this in the next commit to properly grab focus of the first meeting row, if any. --- src/gui/gcal-meeting-row.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/gui/gcal-meeting-row.c b/src/gui/gcal-meeting-row.c index 26fbf496..ef2d78dd 100644 --- a/src/gui/gcal-meeting-row.c +++ b/src/gui/gcal-meeting-row.c @@ -29,6 +29,8 @@ struct _GcalMeetingRow { AdwActionRow parent_instance; + GtkWidget *join_button; + gchar *url; }; @@ -103,6 +105,17 @@ on_join_button_clicked_cb (GtkButton *button, } +static gboolean +gcal_meeting_row_grab_focus (GtkWidget *widget) +{ + GcalMeetingRow *self = (GcalMeetingRow *) widget; + + gtk_widget_grab_focus (self->join_button); + + return TRUE; +} + + /* * GObject overrides */ @@ -167,6 +180,8 @@ gcal_meeting_row_class_init (GcalMeetingRowClass *klass) object_class->get_property = gcal_meeting_row_get_property; object_class->set_property = gcal_meeting_row_set_property; + widget_class->grab_focus = gcal_meeting_row_grab_focus; + signals[JOIN_MEETING] = g_signal_new ("join-meeting", GCAL_TYPE_MEETING_ROW, G_SIGNAL_RUN_LAST, @@ -185,6 +200,8 @@ gcal_meeting_row_class_init (GcalMeetingRowClass *klass) gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/gui/gcal-meeting-row.ui"); + gtk_widget_class_bind_template_child (widget_class, GcalMeetingRow, join_button); + gtk_widget_class_bind_template_callback (widget_class, on_join_button_clicked_cb); gtk_widget_class_set_css_name (widget_class, "meetingrow");