diff options
Diffstat (limited to 'gtk/gtklistview.c')
-rw-r--r-- | gtk/gtklistview.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/gtk/gtklistview.c b/gtk/gtklistview.c index 5382c7b1ad..ad8f8ea16c 100644 --- a/gtk/gtklistview.c +++ b/gtk/gtklistview.c @@ -19,7 +19,7 @@ #include "config.h" -#include "gtklistview.h" +#include "gtklistviewprivate.h" #include "gtkbitset.h" #include "gtkintl.h" @@ -29,6 +29,7 @@ #include "gtkprivate.h" #include "gtkrbtreeprivate.h" #include "gtkwidgetprivate.h" +#include "gtkmultiselection.h" /* Maximum number of list items created by the listview. * For debugging, you can set this to G_MAXUINT to ensure @@ -139,21 +140,6 @@ typedef struct _ListRow ListRow; typedef struct _ListRowAugment ListRowAugment; -struct _GtkListView -{ - GtkListBase parent_instance; - - GtkListItemManager *item_manager; - gboolean show_separators; - - int list_width; -}; - -struct _GtkListViewClass -{ - GtkListBaseClass parent_class; -}; - struct _ListRow { GtkListItemManagerItem parent; @@ -799,6 +785,7 @@ gtk_list_view_class_init (GtkListViewClass *klass) GObjectClass *gobject_class = G_OBJECT_CLASS (klass); list_base_class->list_item_name = "row"; + list_base_class->list_item_role = GTK_ACCESSIBLE_ROLE_LIST_ITEM; list_base_class->list_item_size = sizeof (ListRow); list_base_class->list_item_augment_size = sizeof (ListRowAugment); list_base_class->list_item_augment_func = list_row_augment; @@ -915,6 +902,7 @@ gtk_list_view_class_init (GtkListViewClass *klass) gtk_list_view_activate_item); gtk_widget_class_set_css_name (widget_class, I_("listview")); + gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_LIST); } static void @@ -1000,6 +988,10 @@ gtk_list_view_set_model (GtkListView *self, if (!gtk_list_base_set_model (GTK_LIST_BASE (self), model)) return; + gtk_accessible_update_property (GTK_ACCESSIBLE (self), + GTK_ACCESSIBLE_PROPERTY_MULTI_SELECTABLE, GTK_IS_MULTI_SELECTION (model), + -1); + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MODEL]); } |