[gtk+] entry: Use regular drag highlight
- From: Matthias Clasen <matthiasc src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [gtk+] entry: Use regular drag highlight
 
- Date: Thu,  3 Dec 2015 04:53:34 +0000 (UTC)
 
commit 058dfb07233e54a2372404b91fbc0b792f6483e2
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Dec 2 23:50:03 2015 -0500
    entry: Use regular drag highlight
    
    The entry code passes GTK_DEST_DEFAULT_HIGHLIGHT when setting
    up the drop target, but that is ineffective because of the
    custom drag_motion implementation. Instead, call
    gtk_drag_[un]hightlight ourselves.
 gtk/gtkentry.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 6870453..f2fe2dd 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -2697,9 +2697,7 @@ gtk_entry_init (GtkEntry *entry)
   priv->progress_fraction = 0.0;
   priv->progress_pulse_fraction = 0.1;
 
-  gtk_drag_dest_set (GTK_WIDGET (entry),
-                     GTK_DEST_DEFAULT_HIGHLIGHT,
-                     NULL, 0,
+  gtk_drag_dest_set (GTK_WIDGET (entry), 0, NULL, 0,
                      GDK_ACTION_COPY | GDK_ACTION_MOVE);
   gtk_drag_dest_add_text_targets (GTK_WIDGET (entry));
 
@@ -10109,6 +10107,7 @@ gtk_entry_drag_leave (GtkWidget        *widget,
   GtkEntry *entry = GTK_ENTRY (widget);
   GtkEntryPrivate *priv = entry->priv;
 
+  gtk_drag_unhighlight (widget);
   priv->dnd_position = -1;
   gtk_widget_queue_draw (widget);
 }
@@ -10202,8 +10201,12 @@ gtk_entry_drag_motion (GtkWidget        *widget,
       suggested_action = 0;
       priv->dnd_position = -1;
     }
-  
+
   gdk_drag_status (context, suggested_action, time);
+  if (priv->dnd_position == -1)
+    gtk_drag_unhighlight (widget);
+  else
+    gtk_drag_highlight (widget);
 
   if (priv->dnd_position != old_position)
     gtk_widget_queue_draw (widget);
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]