file-roller r2341 - in trunk: . data nautilus src



Author: paobac
Date: Tue Jun 24 10:56:32 2008
New Revision: 2341
URL: http://svn.gnome.org/viewvc/file-roller?rev=2341&view=rev

Log:
2008-06-24  Paolo Bacchilega  <paobac svn gnome org>

	* src/main.c: 
	* src/fr-command-cfile.c: 
	* nautilus/nautilus-fileroller.c: 
	* data/file-roller.desktop.in.in: 

	Fixed bug #503000 â Support for rzip

	* src/fr-archive.c (create_command_from_mime_type): allow to load a
	compressed file.

Modified:
   trunk/ChangeLog
   trunk/data/file-roller.desktop.in.in
   trunk/nautilus/nautilus-fileroller.c
   trunk/src/fr-archive.c
   trunk/src/fr-command-cfile.c
   trunk/src/main.c

Modified: trunk/data/file-roller.desktop.in.in
==============================================================================
--- trunk/data/file-roller.desktop.in.in	(original)
+++ trunk/data/file-roller.desktop.in.in	Tue Jun 24 10:56:32 2008
@@ -10,7 +10,7 @@
 Type=Application
 Icon=file-roller
 Categories=GTK;GNOME;Utility;
-MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-executable; application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-jar;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;multipart/x-zip;
+MimeType=application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-ar;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/x-deb;application/x-ear;application/x-executable; application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-jar;application/x-java-archive;application/x-lha;application/x-lhz;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zip;multipart/x-zip;
 X-GNOME-DocPath=file-roller/file-roller.xml
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=file-roller

Modified: trunk/nautilus/nautilus-fileroller.c
==============================================================================
--- trunk/nautilus/nautilus-fileroller.c	(original)
+++ trunk/nautilus/nautilus-fileroller.c	Tue Jun 24 10:56:32 2008
@@ -175,6 +175,7 @@
 	"application/x-rar", 
 	"application/x-rar-compressed",
 	"application/x-rpm", 
+	"application/x-rzip",
 	"application/x-tar", 
 	"application/x-tarz",
 	"application/x-stuffit",

Modified: trunk/src/fr-archive.c
==============================================================================
--- trunk/src/fr-archive.c	(original)
+++ trunk/src/fr-archive.c	Tue Jun 24 10:56:32 2008
@@ -518,7 +518,7 @@
 	 * that can only read a specific file format. */
 		
 	requested_capabilities |= FR_COMMAND_CAP_READ_WRITE;	
-	if (! archive->can_create_compressed_file)
+	if (! loading && ! archive->can_create_compressed_file)
 		requested_capabilities |= FR_COMMAND_CAP_ARCHIVE_MANY_FILES;
 	command_type = get_command_type_from_mime_type (mime_type, requested_capabilities);
 	

Modified: trunk/src/fr-command-cfile.c
==============================================================================
--- trunk/src/fr-command-cfile.c	(original)
+++ trunk/src/fr-command-cfile.c	Tue Jun 24 10:56:32 2008
@@ -274,7 +274,14 @@
 		fr_process_end_command (comm->process);
 		compressed_filename = g_strconcat (filename, ".lzo", NULL);
 	}
-
+	else if (is_mime_type (comm->mime_type, "application/x-rzip")) {
+		fr_process_begin_command (comm->process, "rzip");
+		fr_process_set_working_dir (comm->process, temp_dir);
+		fr_process_add_arg (comm->process, filename);
+		fr_process_end_command (comm->process);
+		compressed_filename = g_strconcat (filename, ".rz", NULL);
+	}
+	
       	/* copy compressed file to the dest dir */
 
 	fr_process_begin_command (comm->process, "cp");
@@ -376,7 +383,14 @@
 		fr_process_add_arg (comm->process, temp_file);
 		fr_process_end_command (comm->process);
 	}
-
+	else if (is_mime_type (comm->mime_type, "application/x-rzip")) {
+		fr_process_begin_command (comm->process, "rzip");
+		fr_process_add_arg (comm->process, "-f");
+		fr_process_add_arg (comm->process, "-d");
+		fr_process_add_arg (comm->process, temp_file);
+		fr_process_end_command (comm->process);
+	}
+	
 	/* copy uncompress file to the dest dir */
 
 	uncompr_file = remove_extension_from_path (temp_file);
@@ -416,6 +430,7 @@
 				  "application/x-compress",
 				  "application/x-lzma",
 				  "application/x-lzop",
+				  "application/x-rzip",
 				  NULL };
 
 
@@ -455,6 +470,10 @@
 		if (is_program_in_path ("lzop"))
 			capabilities |= FR_COMMAND_CAP_READ_WRITE;
 	}
+	else if (is_mime_type (mime_type, "application/x-rzip")) {
+		if (is_program_in_path ("rzip"))
+			capabilities |= FR_COMMAND_CAP_READ_WRITE;
+	}
 	
 	return capabilities;
 }

Modified: trunk/src/main.c
==============================================================================
--- trunk/src/main.c	(original)
+++ trunk/src/main.c	Tue Jun 24 10:56:32 2008
@@ -109,6 +109,7 @@
 	{ "application/x-lzop-compressed-tar",  ".tar.lzo",  N_("Tar compressed with lzop (.tar.lzo)"), FALSE, TRUE },
 	{ "application/x-rar",                  ".rar",      N_("Rar (.rar)"), TRUE, TRUE },
 	{ "application/x-rpm",                  ".rpm",      NULL, FALSE, TRUE },
+	{ "application/x-rzip",                 ".rz",       NULL, FALSE, FALSE },
 	{ "application/x-tar",                  ".tar",      N_("Tar uncompressed (.tar)"), FALSE, TRUE },
 	{ "application/x-tarz",                 ".tar.Z",    N_("Tar compressed with compress (.tar.Z)"), FALSE, TRUE },
 	{ "application/x-stuffit",              ".sit",      NULL, FALSE, TRUE },
@@ -143,6 +144,7 @@
 	{ ".lzo", "application/x-lzop" },
 	{ ".rar", "application/x-rar" },
 	{ ".rpm", "application/x-rpm" },
+	{ ".rz", "application/x-rzip" },
 	{ ".sit", "application/x-stuffit" },
 	{ ".tar", "application/x-tar" },
 	{ ".tar.bz", "application/x-bzip-compressed-tar" },



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