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.
This commit is contained in:
Miguel de Icaza 1998-05-08 03:31:32 +00:00
parent 3bcbc2856b
commit 4feaae8ed4

View File

@ -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 */