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:

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to