[gtk+] treeview: Add support for styling the dragged header



commit 4e42bd055dab3b3ba6dd4e9f12f9e1600d743706
Author: Stefano Facchini <stefano facchini gmail com>
Date:   Thu Sep 27 19:07:42 2012 +0200

    treeview: Add support for styling the dragged header
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684980

 gtk/gtktreeview.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index b070c21..808ff24 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -3275,6 +3275,7 @@ gtk_tree_view_button_release_drag_column (GtkWidget      *widget,
   GList *l;
   gboolean rtl;
   GdkDevice *device, *other;
+  GtkStyleContext *context;
 
   tree_view = GTK_TREE_VIEW (widget);
 
@@ -3286,6 +3287,10 @@ gtk_tree_view_button_release_drag_column (GtkWidget      *widget,
 
   /* Move the button back */
   button = gtk_tree_view_column_get_button (tree_view->priv->drag_column);
+
+  context = gtk_widget_get_style_context (button);
+  gtk_style_context_remove_class (context, STYLE_CLASS_DND);
+
   g_object_ref (button);
   gtk_container_remove (GTK_CONTAINER (tree_view), button);
   gtk_widget_set_parent_window (button, tree_view->priv->header_window);
@@ -9788,6 +9793,7 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
   GdkDevice *pointer, *keyboard;
   GdkWindowAttr attributes;
   guint attributes_mask;
+  GtkStyleContext *context;
 
   g_return_if_fail (tree_view->priv->column_drag_info == NULL);
   g_return_if_fail (tree_view->priv->cur_reorder == NULL);
@@ -9800,6 +9806,9 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
 
   button = gtk_tree_view_column_get_button (column);
 
+  context = gtk_widget_get_style_context (button);
+  gtk_style_context_add_class (context, STYLE_CLASS_DND);
+
   gtk_widget_get_allocation (button, &button_allocation);
 
   attributes.window_type = GDK_WINDOW_CHILD;



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