summaryrefslogtreecommitdiff
path: root/gtk/gtklistview.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtklistview.c')
-rw-r--r--gtk/gtklistview.c24
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]);
}