diff options
author | Kristian Rietveld <kris@gtk.org> | 2006-09-24 17:03:45 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2006-09-24 17:03:45 +0000 |
commit | 2c72aad6879d8d52e0d9751a17c3c052e5858554 (patch) | |
tree | 924371687b826bd4e06e2a5ea4254a79601ad6b6 /gtk/gtktreeviewcolumn.c | |
parent | dbff4dd2567a5adc30435ed3b0cdeede7d009bd6 (diff) | |
download | gtk+-2c72aad6879d8d52e0d9751a17c3c052e5858554.tar.gz |
draw the indicator if the column has a sort column id (and the model is
2006-09-24 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): draw
the indicator if the column has a sort column id (and the model is
sortable) or if the user explicitly requested the indicator
to be shown. (Fixes #352738, Chris Vine).
Diffstat (limited to 'gtk/gtktreeviewcolumn.c')
-rw-r--r-- | gtk/gtktreeviewcolumn.c | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 3ee3fcc475..b529db54a1 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -843,7 +843,7 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) static void gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) { - gint sort_column_id; + gint sort_column_id = -1; GtkWidget *hbox; GtkWidget *alignment; GtkWidget *arrow; @@ -905,27 +905,27 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) ""); } - if (GTK_IS_TREE_SORTABLE (model) - && gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (model), - &sort_column_id, - NULL)) + if (GTK_IS_TREE_SORTABLE (model)) + gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (model), + &sort_column_id, + NULL); + + if (tree_column->show_sort_indicator + || (sort_column_id >= 0 && sort_column_id == tree_column->sort_column_id)) { - if (sort_column_id == tree_column->sort_column_id) - { - switch (tree_column->sort_order) - { - case GTK_SORT_ASCENDING: - arrow_type = GTK_ARROW_DOWN; - break; + switch (tree_column->sort_order) + { + case GTK_SORT_ASCENDING: + arrow_type = GTK_ARROW_DOWN; + break; - case GTK_SORT_DESCENDING: - arrow_type = GTK_ARROW_UP; - break; - - default: - g_warning (G_STRLOC": bad sort order"); - break; - } + case GTK_SORT_DESCENDING: + arrow_type = GTK_ARROW_UP; + break; + + default: + g_warning (G_STRLOC": bad sort order"); + break; } } @@ -952,7 +952,8 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) } g_object_unref (arrow); - if (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0) + if (tree_column->show_sort_indicator + || (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0)) gtk_widget_show (arrow); else gtk_widget_hide (arrow); |