]> Pileus Git - ~andy/gtk/commitdiff
treeview: Add support for styling the dragged header
authorStefano Facchini <stefano.facchini@gmail.com>
Thu, 27 Sep 2012 17:07:42 +0000 (19:07 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 22 Oct 2012 23:05:00 +0000 (19:05 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=684980

gtk/gtktreeview.c

index b070c2177a0c262ea1c1dd47b52b2ac65274c155..808ff24832b0983d276032ce1de76485a66ce3a2 100644 (file)
@@ -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;