From 9ae401d544fe001390b51df0817be8606662127c Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Tue, 24 Feb 2004 19:49:08 +0000 Subject: [PATCH] only draw the sort column as different if there are 3 or more visible Tue Feb 24 14:43:07 2004 Jonathan Blandford * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort column as different if there are 3 or more visible columns. --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtktreeview.c | 19 ++++++++++++++++--- 6 files changed, 41 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1ae2ae8abc..8fa0b873af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 24 14:43:07 2004 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort + column as different if there are 3 or more visible columns. + 2004-02-24 Anders Carlsson * gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 1ae2ae8abc..8fa0b873af 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Tue Feb 24 14:43:07 2004 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort + column as different if there are 3 or more visible columns. + 2004-02-24 Anders Carlsson * gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 1ae2ae8abc..8fa0b873af 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Tue Feb 24 14:43:07 2004 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort + column as different if there are 3 or more visible columns. + 2004-02-24 Anders Carlsson * gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 1ae2ae8abc..8fa0b873af 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Tue Feb 24 14:43:07 2004 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort + column as different if there are 3 or more visible columns. + 2004-02-24 Anders Carlsson * gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 1ae2ae8abc..8fa0b873af 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Tue Feb 24 14:43:07 2004 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort + column as different if there are 3 or more visible columns. + 2004-02-24 Anders Carlsson * gtk/gtkfilechooserdefault.c: (shortcuts_insert_separator): diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 18f6a1c2c3..e2bcac2497 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3165,6 +3165,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget, gboolean allow_rules; gboolean has_special_cell; gboolean rtl; + gint n_visible_columns; g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE); @@ -3227,6 +3228,16 @@ gtk_tree_view_bin_expose (GtkWidget *widget, gdk_drawable_get_size (tree_view->priv->bin_window, &bin_window_width, NULL); + + n_visible_columns = 0; + for (list = tree_view->priv->columns; list; list = list->next) + { + if (! GTK_TREE_VIEW_COLUMN (list->data)->visible) + continue; + n_visible_columns ++; + } + + /* Find the last column */ for (last_column = rtl ? g_list_first (tree_view->priv->columns) : g_list_last (tree_view->priv->columns); last_column && !(GTK_TREE_VIEW_COLUMN (last_column->data)->visible) && @@ -3283,7 +3294,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget, } if (column->show_sort_indicator) - flags |= GTK_CELL_RENDERER_SORTED; + flags |= GTK_CELL_RENDERER_SORTED; else flags &= ~GTK_CELL_RENDERER_SORTED; @@ -3319,7 +3330,8 @@ gtk_tree_view_bin_expose (GtkWidget *widget, */ if (allow_rules && tree_view->priv->has_rules) { - if (flags & GTK_CELL_RENDERER_SORTED) + if ((flags & GTK_CELL_RENDERER_SORTED) && + n_visible_columns >= 3) { if (parity) detail = "cell_odd_ruled_sorted"; @@ -3336,7 +3348,8 @@ gtk_tree_view_bin_expose (GtkWidget *widget, } else { - if (flags & GTK_CELL_RENDERER_SORTED) + if ((flags & GTK_CELL_RENDERER_SORTED) && + n_visible_columns >= 3) { if (parity) detail = "cell_odd_sorted";