Author: colossus
Date: 2007-09-17 09:05:23 +0000 (Mon, 17 Sep 2007)
New Revision: 26085
Modified:
xarchiver/trunk/src/archive.c
xarchiver/trunk/src/deb.c
xarchiver/trunk/src/extract_dialog.c
xarchiver/trunk/src/pref_dialog.c
Log:
Fixed bug introduced with r26076.
Fixed absolute path for the behaviour icon in the prefs-dialog.
Fixed missed deletion of tmp dir when opening deb packages.
Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c 2007-09-17 03:31:26 UTC (rev 26084)
+++ xarchiver/trunk/src/archive.c 2007-09-17 09:05:23 UTC (rev 26085)
@@ -233,9 +233,7 @@
gboolean result;
chdir (archive->tmp);
-
command = g_strconcat ("rm -rf ",archive->tmp,NULL);
-
result = xa_run_command (archive,command,flag );
g_free (command);
return result;
Modified: xarchiver/trunk/src/deb.c
===================================================================
--- xarchiver/trunk/src/deb.c 2007-09-17 03:31:26 UTC (rev 26084)
+++ xarchiver/trunk/src/deb.c 2007-09-17 09:05:23 UTC (rev 26085)
@@ -59,7 +59,7 @@
g_free (command);
g_free (archive->tmp);
- archive->tmp = g_strconcat (tmp_dir,"/data.tar.gz",NULL);
+ archive->tmp = g_strdup(tmp_dir);
chdir (tmp_dir);
unlink ("control.tar.gz");
unlink ("debian-binary");
Modified: xarchiver/trunk/src/extract_dialog.c
===================================================================
--- xarchiver/trunk/src/extract_dialog.c 2007-09-17 03:31:26 UTC (rev
26084)
+++ xarchiver/trunk/src/extract_dialog.c 2007-09-17 09:05:23 UTC (rev
26085)
@@ -68,12 +68,18 @@
gtk_widget_set_size_request (dialog_data->destination_path_entry, 385,
-1);
gtk_entry_set_activates_default (GTK_ENTRY
(dialog_data->destination_path_entry), TRUE);
- gchar *dummy = strstr(archive->path, ".");
+ gchar *dummy = g_strrstr(archive->path, ".");
if (dummy != NULL)
{
dummy++;
unsigned short int x = strlen (archive->path) - strlen ( dummy
);
- gchar *extraction_string = g_strndup(archive->path,x-1);
+ gchar *extraction_string = g_strndup(archive->path, x-1);
+ if (strstr (extraction_string,".tar"))
+ {
+ gchar *extraction_string_no_tar =
g_strndup(extraction_string, x-5);
+ g_free (extraction_string);
+ extraction_string = extraction_string_no_tar;
+ }
gtk_entry_set_text
(GTK_ENTRY(dialog_data->destination_path_entry), extraction_string);
g_free (extraction_string);
}
@@ -486,7 +492,7 @@
}
else
{
-
xa_extract_tar_without_directories ( "tar -xvzf ",archive,archive->tmp,FALSE );
+
xa_extract_tar_without_directories ( "tar -xvzf
",archive,archive->extraction_path,FALSE );
command = NULL;
}
break;
@@ -802,6 +808,7 @@
if (strstr (permission ,"d") == NULL)
{
+ //concatena il percorso nella barra degli
indirizzi col nome dei files selezionato e mettilo in name
ConcatenateFileNames2 ( name , names );
filenames = g_slist_append ( filenames,name );
}
@@ -812,10 +819,10 @@
}
else
{
- /* *Here we have to fill a GSList with all the entries in the
archive so that we can use mv on all of them */
+ /* *Here we need to fill a GSList with all the entries in the
archive so that we can use mv on all of them */
XEntry *entry;
GSList *s = archive->entries;
- //g_print
("%s\n",gtk_entry_get_text(GTK_ENTRY(location_entry)));
+
for (; s; s = s->next)
{
entry = s->data;
@@ -828,9 +835,10 @@
if (result == 0)
return FALSE;
+ archive->tmp = strdup(tmp_dir);
if (cpio_flag)
{
- chdir (tmp_dir);
+ chdir (archive->tmp);
command = g_strconcat ( "cpio --make-directories -F " ,
archive->tmp , " -i" , NULL );
}
else
@@ -838,6 +846,7 @@
archive->overwrite ? " --overwrite" : " --keep-old-files",
archive->tar_touch ? " --touch" : "",
" -C " , tmp_dir , names->str, NULL );
+ g_print ("%s\n",command);
result = xa_run_command (archive,command,0);
g_string_free (names, TRUE);
g_free (command);
@@ -849,7 +858,7 @@
Update_StatusBar (_("Operation canceled."));
return FALSE;
}
- chdir (tmp_dir);
+ chdir (archive->tmp);
while (filenames)
{
gchar *unescaped = EscapeBadChars ( (gchar*)filenames->data ,
"$\'`\"\\!?* ()[]&|@#:;");
Modified: xarchiver/trunk/src/pref_dialog.c
===================================================================
--- xarchiver/trunk/src/pref_dialog.c 2007-09-17 03:31:26 UTC (rev 26084)
+++ xarchiver/trunk/src/pref_dialog.c 2007-09-17 09:05:23 UTC (rev 26085)
@@ -51,8 +51,9 @@
prefs_data->prefs_liststore = gtk_list_store_new ( 3, GDK_TYPE_PIXBUF,
G_TYPE_STRING, G_TYPE_UINT);
gtk_list_store_append (prefs_data->prefs_liststore, &iter);
- //TODO: fix the absolute path
- icon_pixbuf = gdk_pixbuf_new_from_file
("./pixmaps/xarchiver-behaviour.svg", NULL);
+ gchar *pixbuf_file =
g_strconcat(DATADIR,"/pixmaps/xarchiver-behaviour.svg",NULL);
+ icon_pixbuf = gdk_pixbuf_new_from_file (pixbuf_file,NULL);
+ g_free (pixbuf_file);
gtk_list_store_set (prefs_data->prefs_liststore, &iter, 0, icon_pixbuf,
1, _("Behaviour"),2,0,-1);
if(icon_pixbuf != NULL)
g_object_unref (icon_pixbuf);
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits