diff options
Diffstat (limited to 'src/gtkutils.c')
-rw-r--r-- | src/gtkutils.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/gtkutils.c b/src/gtkutils.c index 6993314d..8e5c16f1 100644 --- a/src/gtkutils.c +++ b/src/gtkutils.c @@ -32,6 +32,10 @@ #include <gtk/gtkcombo.h> #include <gtk/gtkbindings.h> #include <gtk/gtkitemfactory.h> +#include <gtk/gtktreemodel.h> +#include <gtk/gtktreesortable.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtkversion.h> #include <stdlib.h> #include <stdarg.h> @@ -541,6 +545,27 @@ gboolean gtkut_tree_row_reference_equal(GtkTreeRowReference *ref1, return (result == 0); } +void gtkut_tree_sortable_unset_sort_column_id(GtkTreeSortable *sortable) +{ +#if GTK_CHECK_VERSION(2, 6, 0) + gtk_tree_sortable_set_sort_column_id + (sortable, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, + GTK_SORT_ASCENDING); +#else + GtkTreeStore *store = GTK_TREE_STORE(sortable); + + g_return_if_fail(GTK_IS_TREE_STORE(sortable)); + + if (store->sort_column_id == -2 && store->order == GTK_SORT_ASCENDING) + return; + + store->sort_column_id = -2; + store->order = GTK_SORT_ASCENDING; + + gtk_tree_sortable_sort_column_changed(sortable); +#endif +} + gboolean gtkut_tree_view_find_collapsed_parent(GtkTreeView *treeview, GtkTreeIter *parent, GtkTreeIter *iter) |