views/month-cell: Override focus() virtual function
Without this patch, focus immediately goes to the "Previous Month" button at startup, for some unknown reason. So, as a workaround, skip focus if the root cannot retrieve the current focused widget. Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/564>
This commit is contained in:
@@ -344,6 +344,23 @@ on_breakpoint_changed_cb (GcalMonthCell *self)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GtkWidget overrides
|
||||||
|
*/
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
gcal_month_cell_focus (GtkWidget *widget,
|
||||||
|
GtkDirectionType direction)
|
||||||
|
{
|
||||||
|
GtkRoot *root = gtk_widget_get_root (widget);
|
||||||
|
|
||||||
|
if (gtk_root_get_focus (root) == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return GTK_WIDGET_CLASS (gcal_month_cell_parent_class)->focus (widget, direction);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GObject overrides
|
* GObject overrides
|
||||||
*/
|
*/
|
||||||
@@ -414,6 +431,8 @@ gcal_month_cell_class_init (GcalMonthCellClass *klass)
|
|||||||
object_class->set_property = gcal_month_cell_set_property;
|
object_class->set_property = gcal_month_cell_set_property;
|
||||||
object_class->get_property = gcal_month_cell_get_property;
|
object_class->get_property = gcal_month_cell_get_property;
|
||||||
|
|
||||||
|
widget_class->focus = gcal_month_cell_focus;
|
||||||
|
|
||||||
signals[SHOW_OVERFLOW] = g_signal_new ("show-overflow",
|
signals[SHOW_OVERFLOW] = g_signal_new ("show-overflow",
|
||||||
GCAL_TYPE_MONTH_CELL,
|
GCAL_TYPE_MONTH_CELL,
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
|
|||||||
Reference in New Issue
Block a user