From e845387f80a330952bf9c2d004805633e1d1d369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= Date: Wed, 24 Jan 2024 19:52:39 +0000 Subject: [PATCH] view-model: Provide section sorter setter --- src/nautilus-view-model.c | 13 +++++++++++++ src/nautilus-view-model.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/nautilus-view-model.c b/src/nautilus-view-model.c index 1d607fdc6..195266dbb 100644 --- a/src/nautilus-view-model.c +++ b/src/nautilus-view-model.c @@ -375,6 +375,19 @@ nautilus_view_model_set_sorter (NautilusViewModel *self, g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_SORTER]); } +/** + * Set the section sorter, effectively enabling sections. + * + * Unlike the regular sorter, which compares NautilusViewItem objects, this one + * compares the GtkTreeListRows objects which wrap the NautilusViewItem objects. + */ +void +nautilus_view_model_set_section_sorter (NautilusViewModel *self, + GtkSorter *section_sorter) +{ + gtk_sort_list_model_set_section_sorter (self->sort_model, GTK_SORTER (section_sorter)); +} + void nautilus_view_model_sort (NautilusViewModel *self) { diff --git a/src/nautilus-view-model.h b/src/nautilus-view-model.h index 2ab1af2cb..37260d2ce 100644 --- a/src/nautilus-view-model.h +++ b/src/nautilus-view-model.h @@ -15,6 +15,8 @@ NautilusViewModel * nautilus_view_model_new (void); GtkSorter *nautilus_view_model_get_sorter (NautilusViewModel *self); void nautilus_view_model_set_sorter (NautilusViewModel *self, GtkSorter *sorter); +void nautilus_view_model_set_section_sorter (NautilusViewModel *self, + GtkSorter *section_sorter); void nautilus_view_model_sort (NautilusViewModel *self); NautilusViewItem * nautilus_view_model_get_item_for_file (NautilusViewModel *self, NautilusFile *file);