[gtk+] treeview: Use CSS property "border-top-color" to draw grid lines



commit 7b85d1df50f7b34b2057e21088ded8addb4cda65
Author: Jonh Wendell <jonh wendell intel com>
Date:   Mon Nov 18 17:15:12 2013 -0200

    treeview: Use CSS property "border-top-color" to draw grid lines
    
    This allows themes to customize the grid line colors in treeviews.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=415415

 gtk/gtktreeview.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 8826ba1..a914c65 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -49,6 +49,7 @@
 #include "gtkentryprivate.h"
 #include "gtkstylecontextprivate.h"
 #include "gtkcssstylepropertyprivate.h"
+#include "gtkcssrgbavalueprivate.h"
 #include "gtktypebuiltins.h"
 #include "gtkmain.h"
 #include "gtksettings.h"
@@ -4689,13 +4690,19 @@ gtk_tree_view_draw_line (GtkTreeView         *tree_view,
                         2, 0.5);
       break;
     case GTK_TREE_VIEW_GRID_LINE:
-      cairo_set_source_rgb (cr, 0, 0, 0);
-      cairo_set_line_width (cr, tree_view->priv->grid_line_width);
-      if (tree_view->priv->grid_line_dashes[0])
-        cairo_set_dash (cr, 
-                        tree_view->priv->grid_line_dashes,
-                        2, 0.5);
+      {
+        GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
+        const GdkRGBA *color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, 
GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
+
+        gdk_cairo_set_source_rgba (cr, color);
+        cairo_set_line_width (cr, tree_view->priv->grid_line_width);
+        if (tree_view->priv->grid_line_dashes[0])
+          cairo_set_dash (cr,
+                          tree_view->priv->grid_line_dashes,
+                          2, 0.5);
+      }
       break;
+
     default:
       g_assert_not_reached ();
       /* fall through */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]