From 4feaae8ed458e2f19d9aabd8e4e57fc041d2e6b2 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Fri, 8 May 1998 03:31:32 +0000 Subject: [PATCH] My wish list for DnD support in Gtk: Really, you really need to: 1. Let the drag source window act as a drag target. 2. Let the drag shapped window re-enter the source window. You have to fight with the shaped window to drag it inside the origin window. Miguel. --- gnome/gscreen.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnome/gscreen.c b/gnome/gscreen.c index 36cf723cf..921643203 100644 --- a/gnome/gscreen.c +++ b/gnome/gscreen.c @@ -947,6 +947,15 @@ panel_drag_begin (GtkWidget *widget, GdkEvent *event, WPanel *panel) } +static void +panel_icon_list_drag_begin (GtkWidget *widget, GdkEvent *event, WPanel *panel) +{ + GnomeIconList *icons = GNOME_ICON_LIST (panel->icons); + + icons->last_clicked = -1; + panel_drag_begin (widget, event, panel); +} + static void panel_artificial_drag_start (GtkCList *window, GdkEventMotion *event) { @@ -1190,7 +1199,7 @@ panel_icon_list_realized (GtkObject *obj, WPanel *panel) /* DND: Drag setup */ gtk_signal_connect (obj, "drag_request_event", GTK_SIGNAL_FUNC (panel_icon_list_drag_request), panel); - gtk_signal_connect (obj, "drag_begin_event", GTK_SIGNAL_FUNC (panel_drag_begin), panel); + gtk_signal_connect (obj, "drag_begin_event", GTK_SIGNAL_FUNC (panel_icon_list_drag_begin), panel); gdk_window_dnd_drag_set (icon->ilist_window, TRUE, drag_types, ELEMENTS (drag_types)); /* DND: Drop setup */