summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-icon-container.c
diff options
context:
space:
mode:
authorGene Z. Ragan <gzr@eazel.com>2000-10-06 07:00:44 +0000
committerGene Ragan <gzr@src.gnome.org>2000-10-06 07:00:44 +0000
commitce097b2d9bae62535075bcd7d9b33677698ab616 (patch)
tree289ef6a7ae4078605a1cf0a9d33f95f6a0294075 /libnautilus-private/nautilus-icon-container.c
parent961728af0843cbbf761a9bc7373084469701c696 (diff)
downloadnautilus-ce097b2d9bae62535075bcd7d9b33677698ab616.tar.gz
Fixed bug 2212, Not able to drag icons from the panel.
2000-10-06 Gene Z. Ragan <gzr@eazel.com> Fixed bug 2212, Not able to drag icons from the panel. * libnautilus-extensions/nautilus-icon-container.c: * libnautilus-extensions/nautilus-icon-container.h: (button_release_event), (nautilus_icon_container_initialize_class): Add a new signal to create symbolic links * libnautilus-extensions/nautilus-icon-dnd.c: (drag_data_received_callback), (receive_dropped_uri_list), (nautilus_icon_container_get_drop_action), (drag_motion_callback): Handle URI drags. * src/file-manager/fm-desktop-icon-view.c: (fm_desktop_icon_view_initialize), (create_link_callback), (icon_view_create_nautilus_links): Callbacks to handle the create_nautilus_links signal. Create links from the data passed in the list using gnome-vfs async callback. * libnautilus-extensions/nautilus-program-choosing.c: (nautilus_launch_application_from_command): Quoted the command string in addition to the parameter.
Diffstat (limited to 'libnautilus-private/nautilus-icon-container.c')
-rw-r--r--libnautilus-private/nautilus-icon-container.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libnautilus-private/nautilus-icon-container.c b/libnautilus-private/nautilus-icon-container.c
index 223b24734..3a31b7a35 100644
--- a/libnautilus-private/nautilus-icon-container.c
+++ b/libnautilus-private/nautilus-icon-container.c
@@ -154,6 +154,7 @@ enum {
ICON_TEXT_CHANGED,
LAYOUT_CHANGED,
MOVE_COPY_ITEMS,
+ CREATE_NAUTILUS_LINKS,
PREVIEW,
SELECTION_CHANGED,
LAST_SIGNAL
@@ -2400,7 +2401,7 @@ button_release_event (GtkWidget *widget,
stop_rubberbanding (container, event);
return TRUE;
}
-
+
if (event->button == details->drag_button) {
details->drag_button = 0;
@@ -2842,6 +2843,18 @@ nautilus_icon_container_initialize_class (NautilusIconContainerClass *class)
GTK_TYPE_INT,
GTK_TYPE_INT,
GTK_TYPE_INT);
+ signals[CREATE_NAUTILUS_LINKS]
+ = gtk_signal_new ("create_nautilus_links",
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusIconContainerClass,
+ create_nautilus_links),
+ gtk_marshal_NONE__POINTER_INT_INT,
+ GTK_TYPE_NONE, 3,
+ GTK_TYPE_POINTER,
+ GTK_TYPE_INT,
+ GTK_TYPE_INT);
+
signals[GET_CONTAINER_URI]
= gtk_signal_new ("get_container_uri",
GTK_RUN_LAST,