From: Corey Berla Date: Wed, 19 Oct 2022 16:19:47 +0000 (-0700) Subject: filechoosercell: Bind "item" and "selected" to cell X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~143^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=aac04a09956c2e733a16c01eb2a21214ebf54fb0;p=gtk4.git filechoosercell: Bind "item" and "selected" to cell --- diff --git a/gtk/gtkfilechoosercell.c b/gtk/gtkfilechoosercell.c index b10c2cf02e..07d4dc7c9f 100644 --- a/gtk/gtkfilechoosercell.c +++ b/gtk/gtkfilechoosercell.c @@ -31,6 +31,8 @@ struct _GtkFileChooserCell { GtkWidget parent_instance; + GFileInfo *item; + gboolean selected; guint position; }; @@ -44,6 +46,8 @@ G_DEFINE_TYPE (GtkFileChooserCell, gtk_file_chooser_cell, GTK_TYPE_WIDGET) enum { PROP_POSITION = 1, + PROP_SELECTED, + PROP_ITEM, }; static void @@ -126,6 +130,14 @@ gtk_file_chooser_cell_set_property (GObject *object, self->position = g_value_get_uint (value); break; + case PROP_SELECTED: + self->selected = g_value_get_boolean (value); + break; + + case PROP_ITEM: + self->item = g_value_get_object (value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -146,6 +158,14 @@ gtk_file_chooser_cell_get_property (GObject *object, g_value_set_uint (value, self->position); break; + case PROP_SELECTED: + g_value_set_boolean (value, self->selected); + break; + + case PROP_ITEM: + g_value_set_object (value, self->item); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -168,6 +188,16 @@ gtk_file_chooser_cell_class_init (GtkFileChooserCellClass *klass) 0, G_MAXUINT, 0, GTK_PARAM_READWRITE)); + g_object_class_install_property (object_class, PROP_SELECTED, + g_param_spec_boolean ("selected", NULL, NULL, + FALSE, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, PROP_ITEM, + g_param_spec_object ("item", NULL, NULL, + G_TYPE_FILE_INFO, + GTK_PARAM_READWRITE)); + gtk_widget_class_set_css_name (widget_class, I_("filelistcell")); gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT); } diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui index bfd4a0e9db..5a12539965 100644 --- a/gtk/ui/gtkfilechooserwidget.ui +++ b/gtk/ui/gtkfilechooserwidget.ui @@ -159,6 +159,12 @@ GtkListItem + + GtkListItem + + + GtkListItem + @@ -216,6 +222,12 @@ GtkListItem + + GtkListItem + + + GtkListItem + 1 @@ -259,6 +271,12 @@ GtkListItem + + GtkListItem + + + GtkListItem + 1 @@ -300,6 +318,12 @@ GtkListItem + + GtkListItem + + + GtkListItem + 1 @@ -340,6 +364,12 @@ GtkListItem + + GtkListItem + + + GtkListItem + 6