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