columnviewcell: Cells should not be focusable by default
authorBenjamin Otte <otte@redhat.com>
Mon, 27 Mar 2023 20:03:13 +0000 (22:03 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 1 Apr 2023 18:49:40 +0000 (20:49 +0200)
gtk/gtkcolumnviewcell.c

index 632c6eb6b3d3e62c6da6e8cfaa3ee3651a29747d..d2c678494db36098f6591ea654672cc9eb3847e8 100644 (file)
@@ -58,10 +58,20 @@ gtk_column_view_cell_create_object (GtkListFactoryWidget *fw)
 
   gtk_list_item_set_selectable (list_item, FALSE);
   gtk_list_item_set_activatable (list_item, FALSE);
+  gtk_list_item_set_focusable (list_item, FALSE);
 
   return list_item;
 }
 
+static void
+gtk_column_view_cell_teardown_object (GtkListFactoryWidget *fw,
+                                      gpointer              object)
+{
+  GTK_LIST_FACTORY_WIDGET_CLASS (gtk_column_view_cell_parent_class)->teardown_object (fw, object);
+
+  gtk_widget_set_focusable (GTK_WIDGET (fw), FALSE);
+}
+
 static int
 get_number (GtkCssValue *value)
 {
@@ -193,6 +203,7 @@ gtk_column_view_cell_class_init (GtkColumnViewCellClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
   factory_class->create_object = gtk_column_view_cell_create_object;
+  factory_class->teardown_object = gtk_column_view_cell_teardown_object;
 
   widget_class->measure = gtk_column_view_cell_measure;
   widget_class->size_allocate = gtk_column_view_cell_size_allocate;