summaryrefslogtreecommitdiff
path: root/gtk/gtklistbase.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtklistbase.c')
-rw-r--r--gtk/gtklistbase.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/gtk/gtklistbase.c b/gtk/gtklistbase.c
index efc2ced6db..201bcb0844 100644
--- a/gtk/gtklistbase.c
+++ b/gtk/gtklistbase.c
@@ -56,7 +56,7 @@ typedef struct _GtkListBasePrivate GtkListBasePrivate;
struct _GtkListBasePrivate
{
GtkListItemManager *item_manager;
- GListModel *model;
+ GtkSelectionModel *model;
GtkOrientation orientation;
GtkAdjustment *adjustment[2];
GtkScrollablePolicy scroll_policy[2];
@@ -469,7 +469,7 @@ gtk_list_base_get_n_items (GtkListBase *self)
if (priv->model == NULL)
return 0;
- return g_list_model_get_n_items (priv->model);
+ return g_list_model_get_n_items (G_LIST_MODEL (priv->model));
}
guint
@@ -2102,7 +2102,7 @@ gtk_list_base_grab_focus_on_item (GtkListBase *self,
return TRUE;
}
-GListModel *
+GtkSelectionModel *
gtk_list_base_get_model (GtkListBase *self)
{
GtkListBasePrivate *priv = gtk_list_base_get_instance_private (self);
@@ -2111,8 +2111,8 @@ gtk_list_base_get_model (GtkListBase *self)
}
gboolean
-gtk_list_base_set_model (GtkListBase *self,
- GListModel *model)
+gtk_list_base_set_model (GtkListBase *self,
+ GtkSelectionModel *model)
{
GtkListBasePrivate *priv = gtk_list_base_get_instance_private (self);
@@ -2123,19 +2123,9 @@ gtk_list_base_set_model (GtkListBase *self,
if (model)
{
- GtkSelectionModel *selection_model;
-
priv->model = g_object_ref (model);
-
- if (GTK_IS_SELECTION_MODEL (model))
- selection_model = GTK_SELECTION_MODEL (g_object_ref (model));
- else
- selection_model = GTK_SELECTION_MODEL (gtk_single_selection_new (g_object_ref (model)));
-
- gtk_list_item_manager_set_model (priv->item_manager, selection_model);
+ gtk_list_item_manager_set_model (priv->item_manager, model);
gtk_list_base_set_anchor (self, 0, 0.0, GTK_PACK_START, 0.0, GTK_PACK_START);
-
- g_object_unref (selection_model);
}
else
{