nautilus-sendto r382 - in trunk: . src



Author: hadess
Date: Wed Jan  7 14:40:49 2009
New Revision: 382
URL: http://svn.gnome.org/viewvc/nautilus-sendto?rev=382&view=rev

Log:
2009-01-07  Bastien Nocera  <hadess hadess net>

	* src/nautilus-sendto-command.c (nautilus_sendto_init):
	When going through the filenames from the command-line,
	get FUSE filenames for the files when possible, so
	we can send files from remote locations (Closes: #543965)



Modified:
   trunk/ChangeLog
   trunk/src/nautilus-sendto-command.c

Modified: trunk/src/nautilus-sendto-command.c
==============================================================================
--- trunk/src/nautilus-sendto-command.c	(original)
+++ trunk/src/nautilus-sendto-command.c	Wed Jan  7 14:40:49 2009
@@ -713,51 +713,28 @@
 	}
 
 	for (i = 0; filenames != NULL && filenames[i] != NULL; i++) {
-		const char *filename;
- 		char *path;
+		GFile *file;
+		char *filename, *escaped, *uri;
+
+		file = g_file_new_for_commandline_arg (filenames[i]);
+		filename = g_file_get_path (file);
+		if (filename == NULL)
+			continue;
+
+		if (g_file_test (filename, G_FILE_TEST_IS_DIR) != FALSE)
+			force_user_to_compress = TRUE;
+
+		uri = g_filename_to_uri (filename, NULL, NULL);
+		escaped = escape_ampersands (uri);
+		g_free (uri);
+
+		if (escaped == NULL)
+			file_list = g_list_prepend (file_list, filename);
+		else {
+			g_free (filename);
+			file_list = g_list_prepend (file_list, escaped);
+		}
 
-		filename = filenames[i];
- 
- 		if (g_str_has_prefix (filename, "file://")) {
- 			char *escaped;
-
-			/* Make sure URIs don't contain ampersands */
- 			escaped = escape_ampersands (filename);
- 			if (escaped == NULL)
-				file_list = g_list_prepend (file_list,
-							    g_strdup (filename));
-			else
-				file_list = g_list_prepend (file_list, escaped);
- 			path = g_filename_from_uri (filename, NULL, NULL);
- 			if (path != NULL
- 			    && g_file_test (path, G_FILE_TEST_IS_DIR)) {
- 				force_user_to_compress = TRUE;
- 			}
- 			g_free (path);
- 		} else {
- 			char *uri, *escaped;
-
- 			if (filename[0] != G_DIR_SEPARATOR) {
- 				path = g_build_filename (default_url,
-						filename, NULL);
-			} else {
-				path = g_strdup (filename);
-			}
- 
- 			uri = g_filename_to_uri (path, NULL, NULL);
-			escaped = escape_ampersands (uri);
-			if (escaped) {
-				file_list = g_list_prepend (file_list, escaped);
-				g_free (uri);
-			} else {
-				file_list = g_list_prepend (file_list, uri);
-			}
- 
- 			if (g_file_test (path, G_FILE_TEST_IS_DIR))
- 				force_user_to_compress = TRUE;
- 
- 			g_free (path);
- 		}
 	}
 
 	if (file_list == NULL) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]