? nautilus-copy-locality.patch
? help/nautilus-user-manual/C/nautilus-user-manual-C.omf.out
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/nautilus/ChangeLog,v
retrieving revision 1.5351
diff -u -r1.5351 ChangeLog
--- ChangeLog	31 May 2002 20:00:53 -0000	1.5351
+++ ChangeLog	31 May 2002 20:40:03 -0000
@@ -1,3 +1,9 @@
+2002-05-31  Dave Camp  <dave@ximian.com>
+
+	* src/file-manager/fm-icon-view.c (icon_view_handle_uri_list):
+	Allow copying to nonlocal file: uris (such as nfs directories),
+	and allow copying from local non-file: uris.  Fixes bug #83702.
+
 2002-05-31  Damon Chaplin  <damon@ximian.com>
 
 	* src/nautilus-application.c
Index: src/file-manager/fm-icon-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-icon-view.c,v
retrieving revision 1.261
diff -u -r1.261 fm-icon-view.c
--- src/file-manager/fm-icon-view.c	21 May 2002 18:24:19 -0000	1.261
+++ src/file-manager/fm-icon-view.c	31 May 2002 20:40:04 -0000
@@ -2161,7 +2161,8 @@
 	container_uri = gnome_vfs_uri_new (container_uri_string);
 	g_return_if_fail (container_uri != NULL);
 
-	if (!gnome_vfs_uri_is_local (container_uri)) {
+	if (strncmp (container_uri_string, "file", 4) != 0 
+	    || !gnome_vfs_uri_is_local (container_uri)) {
 		eel_show_warning_dialog (_("Drag and drop is only supported to local file systems."),
 					 _("Drag and Drop error"),
 					 fm_directory_view_get_containing_window (FM_DIRECTORY_VIEW (view)));
@@ -2202,13 +2203,22 @@
 	uri_list = nautilus_icon_dnd_uri_list_extract_uris (item_uris);
 	for (node = uri_list; node != NULL; node = node->next) {
 		gchar *sanitized_uri;
+		GnomeVFSURI *uri;
 
 		sanitized_uri = eel_make_uri_from_half_baked_uri (node->data);
 		if (sanitized_uri == NULL)
 			continue;
 		real_uri_list = g_list_append (real_uri_list, sanitized_uri);
-		if (strncmp (sanitized_uri, "file", 4) != 0)
+		
+		uri = gnome_vfs_uri_new (sanitized_uri);
+		
+		if (strncmp (container_uri_string, "file", 4) != 0 
+		    && !gnome_vfs_uri_is_local (uri)) {
 			all_local = FALSE;
+		}
+
+		gnome_vfs_uri_unref (uri);
+		
 		n_uris++;
 	}
 	nautilus_icon_dnd_uri_list_free_strings (uri_list);
