[Xfce4-commits] r25972 - xarchiver/trunk/src

Giuseppe Torelli colossus at xfce.org
Sat Aug 11 23:10:04 CEST 2007


Author: colossus
Date: 2007-08-11 21:10:04 +0000 (Sat, 11 Aug 2007)
New Revision: 25972

Modified:
   xarchiver/trunk/src/bzip2.c
   xarchiver/trunk/src/bzip2.h
   xarchiver/trunk/src/gzip.c
   xarchiver/trunk/src/gzip.h
   xarchiver/trunk/src/window.c
Log:
Archive navigation works for gzip and bzip2.


Modified: xarchiver/trunk/src/bzip2.c
===================================================================
--- xarchiver/trunk/src/bzip2.c	2007-08-11 20:45:27 UTC (rev 25971)
+++ xarchiver/trunk/src/bzip2.c	2007-08-11 21:10:04 UTC (rev 25972)
@@ -22,19 +22,19 @@
 #include "extract_dialog.h"
 #include "string_utils.h"
 
-extern gboolean TarOpen (GIOChannel *ioc, GIOCondition cond, gpointer data);
-extern int output_fd;
+extern gboolean xa_tar_open (GIOChannel *ioc, GIOCondition cond, gpointer data);
 extern gboolean cli;
 
 short int l;
 
-void OpenBzip2 ( XArchive *archive )
+void xa_open_bzip2 (XArchive *archive)
 {
 	gchar *command;
+	gchar *tar;
+	unsigned short int i;
+
     if ( g_str_has_suffix ( archive->escaped_path , ".tar.bz2") || g_str_has_suffix ( archive->escaped_path , ".tar.bz") || g_str_has_suffix ( archive->escaped_path , ".tbz") || g_str_has_suffix ( archive->escaped_path , ".tbz2" ) )
 	{
-		gchar *tar;
-
 		tar = g_find_program_in_path ("gtar");
 		if (tar == NULL)
 			tar = g_strdup ("tar");
@@ -46,19 +46,23 @@
 		archive->nr_of_files = 0;
 		archive->nr_of_dirs = 0;
 		archive->format = "TAR.BZIP2";
+		archive->nc = 6;
 		archive->parse_output = xa_get_tar_line_content;
 		xa_spawn_async_process (archive,command,0);
 
 		g_free (command);
 		g_free (tar);
 
-		if ( archive->child_pid == 0 )
+		if (archive->child_pid == 0)
 			return;
 
-		char *names[]= {(_("Filename")),(_("Permissions")),(_("Symbolic Link")),(_("Owner/Group")),(_("Size")),(_("Date")),(_("Time"))};
-		GType types[]= {G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING};
-		//xa_create_liststore ( 7, names , (GType *)types, archive);
-		archive->type = XARCHIVETYPE_TAR_BZ2;
+		GType types[]= {G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING};
+		archive->column_types = g_malloc0(sizeof(types));
+		for (i = 0; i < 8; i++)
+			archive->column_types[i] = types[i];
+
+		char *names[]= {(_("Points to")),(_("Permissions")),(_("Owner/Group")),(_("Size")),(_("Date")),(_("Time"))};
+		xa_create_liststore (archive,names);
 	}
 	else
 	{

Modified: xarchiver/trunk/src/bzip2.h
===================================================================
--- xarchiver/trunk/src/bzip2.h	2007-08-11 20:45:27 UTC (rev 25971)
+++ xarchiver/trunk/src/bzip2.h	2007-08-11 21:10:04 UTC (rev 25972)
@@ -20,12 +20,11 @@
 #define BZIP2_H
 
 #include <gtk/gtk.h>
-#include "interface.h"
 #include "support.h"
 #include "main.h"
 #include "archive.h"
 
-void OpenBzip2 ( XArchive *archive );
+void xa_open_bzip2 (XArchive *archive);
 void gzip_bzip2_extract ( XArchive *archive , gboolean flag );
 void xa_add_delete_tar_bzip2_gzip ( GString *list , XArchive *archive , gboolean dummy , gboolean add );
 GChildWatchFunc *AddToTar (GPid pid,gint status , gpointer data);

Modified: xarchiver/trunk/src/gzip.c
===================================================================
--- xarchiver/trunk/src/gzip.c	2007-08-11 20:45:27 UTC (rev 25971)
+++ xarchiver/trunk/src/gzip.c	2007-08-11 21:10:04 UTC (rev 25972)
@@ -24,18 +24,18 @@
 FILE *fd;
 extern int output_fd;
 
-void OpenGzip ( XArchive *archive )
+void xa_open_gzip (XArchive *archive)
 {
 	gchar *command;
+	gchar *tar;
+	unsigned short int i;
 
 	if ( g_str_has_suffix ( archive->escaped_path , ".tar.gz") || g_str_has_suffix ( archive->escaped_path , ".tgz") )
 	{
-    gchar *tar;
+	    tar = g_find_program_in_path ("gtar");
+	    if (tar == NULL)
+    		tar = g_strdup ("tar");
 
-    tar = g_find_program_in_path ("gtar");
-    if (tar == NULL)
-      tar = g_strdup ("tar");
-
 		command = g_strconcat (tar, " tzvf " , archive->escaped_path, NULL );
 		archive->has_properties = archive->can_add = archive->can_extract = TRUE;
 		archive->has_test = archive->has_sfx = FALSE;
@@ -43,20 +43,23 @@
 		archive->nr_of_files = 0;
 		archive->nr_of_dirs = 0;
 		archive->format ="TAR.GZIP";
+		archive->nc = 6;
 		archive->parse_output = xa_get_tar_line_content;
-
 		xa_spawn_async_process (archive,command,0);
 
 		g_free (command);
 		g_free (tar);
 
-		if ( archive->child_pid == 0 )
+		if (archive->child_pid == 0)
 			return;
 
-		char *names[]= {(_("Filename")),(_("Permissions")),(_("Symbolic Link")),(_("Owner/Group")),(_("Size")),(_("Date")),(_("Time"))};
-		GType types[]= {G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING};
-		//xa_create_liststore ( 7, names , (GType *)types, archive );
-        archive->type = XARCHIVETYPE_TAR_GZ;
+		GType types[]= {G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_UINT64,G_TYPE_STRING,G_TYPE_STRING};
+		archive->column_types = g_malloc0(sizeof(types));
+		for (i = 0; i < 8; i++)
+			archive->column_types[i] = types[i];
+
+		char *names[]= {(_("Points to")),(_("Permissions")),(_("Owner/Group")),(_("Size")),(_("Date")),(_("Time"))};
+		xa_create_liststore (archive,names);
 	}
 	else
 	{

Modified: xarchiver/trunk/src/gzip.h
===================================================================
--- xarchiver/trunk/src/gzip.h	2007-08-11 20:45:27 UTC (rev 25971)
+++ xarchiver/trunk/src/gzip.h	2007-08-11 21:10:04 UTC (rev 25972)
@@ -20,8 +20,9 @@
 #define GZIP_H
 
 #include <gtk/gtk.h>
-#include "interface.h"
 #include "support.h"
+#include "main.h"
+#include "archive.h"
 
-void OpenGzip ( XArchive *archive );
+void xa_open_gzip (XArchive *archive);
 #endif

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c	2007-08-11 20:45:27 UTC (rev 25971)
+++ xarchiver/trunk/src/window.c	2007-08-11 21:10:04 UTC (rev 25972)
@@ -125,11 +125,11 @@
 				break;
 
 				case XARCHIVETYPE_TAR_BZ2:
-				OpenBzip2 ( archive );
+				xa_open_bzip2 ( archive );
 				break;
 
 				case XARCHIVETYPE_TAR_GZ:
-				OpenGzip ( archive );
+				xa_open_gzip ( archive );
 				break;
 
 				case XARCHIVETYPE_TAR_LZMA:
@@ -342,11 +342,11 @@
 		break;
 
 		case XARCHIVETYPE_BZIP2:
-		OpenBzip2 (archive[current_page]);
+		xa_open_bzip2 (archive[current_page]);
 		break;
 
 		case XARCHIVETYPE_GZIP:
-		OpenGzip ( archive[current_page] );
+		xa_open_gzip ( archive[current_page] );
 		break;
 
 		case XARCHIVETYPE_LZMA:



More information about the Xfce4-commits mailing list