views/month-cell: Create activation signal and shortcuts from utility function

Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/747>
This commit is contained in:
Hari Rana
2026-05-04 10:42:02 +00:00
committed by Marge Bot
parent c507fb23af
commit 8629b1f422
+1 -33
View File
@@ -399,39 +399,7 @@ gcal_month_cell_class_init (GcalMonthCellClass *klass)
1,
GTK_TYPE_WIDGET);
signals[ACTIVATE] = g_signal_new ("activate",
GCAL_TYPE_MONTH_CELL,
G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
gtk_widget_class_set_activate_signal (widget_class, signals[ACTIVATE]);
{
g_autoptr (GtkShortcutAction) activate_action = NULL;
const guint activate_keyvals[] = {
GDK_KEY_space,
GDK_KEY_KP_Space,
GDK_KEY_Return,
GDK_KEY_ISO_Enter,
GDK_KEY_KP_Enter,
};
activate_action = gtk_signal_action_new ("activate");
for (size_t i = 0; i < G_N_ELEMENTS (activate_keyvals); i++)
{
g_autoptr (GtkShortcut) activate_shortcut = NULL;
activate_shortcut = gtk_shortcut_new (gtk_keyval_trigger_new (activate_keyvals[i], 0),
g_object_ref (activate_action));
gtk_widget_class_add_shortcut (widget_class, activate_shortcut);
}
}
signals[ACTIVATE] = gcal_create_activate_signal_and_shortcuts (widget_class, GCAL_TYPE_MONTH_CELL);
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/ui/views/gcal-month-cell.ui");