summaryrefslogtreecommitdiff
path: root/gtk/gtktreeviewcolumn.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2006-09-24 17:03:45 +0000
committerKristian Rietveld <kristian@src.gnome.org>2006-09-24 17:03:45 +0000
commit2c72aad6879d8d52e0d9751a17c3c052e5858554 (patch)
tree924371687b826bd4e06e2a5ea4254a79601ad6b6 /gtk/gtktreeviewcolumn.c
parentdbff4dd2567a5adc30435ed3b0cdeede7d009bd6 (diff)
downloadgtk+-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.c43
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);