[Xfce4-commits] r22627 - in xarchiver/trunk: . src

Giuseppe Torelli colossus at xfce.org
Wed Aug 2 10:57:41 UTC 2006


Author: colossus
Date: 2006-08-02 10:57:39 +0000 (Wed, 02 Aug 2006)
New Revision: 22627

Modified:
   xarchiver/trunk/TODO
   xarchiver/trunk/src/bzip2.c
   xarchiver/trunk/src/callbacks.c
Log:
Fixed inability to quit Xarchiver when trying to drop something after opening an ISO image. Thanks as usual to baze :)
Fixed indentation in bzip2.c.
Updated TODO file.


Modified: xarchiver/trunk/TODO
===================================================================
--- xarchiver/trunk/TODO	2006-08-02 08:35:54 UTC (rev 22626)
+++ xarchiver/trunk/TODO	2006-08-02 10:57:39 UTC (rev 22627)
@@ -1,7 +1,7 @@
-+ iso
-  - add display of ID's inside the ISO plus image type [PARTIALLY DONE].
-
+- add display of ID's inside the ISO plus image type [PARTIALLY DONE].
 - fix bug #1736.
 - switching by right clicking on the toolbar to icons with text/ no text/ small icons.
-- create a routine for handling the sensitiveness of the buttons, window title [MAYBE ??]
+- [MAYBE] create a routine for handling the sensitiveness of the buttons, window title
 - add a small progress window when using Xarchiver cmd-line switches.
+- redesign the new dialog.
+- better handling of supported archive types.

Modified: xarchiver/trunk/src/bzip2.c
===================================================================
--- xarchiver/trunk/src/bzip2.c	2006-08-02 08:35:54 UTC (rev 22626)
+++ xarchiver/trunk/src/bzip2.c	2006-08-02 10:57:39 UTC (rev 22627)
@@ -178,34 +178,34 @@
 	FILE *stream = data;
 	gchar buffer[65536];
 	gsize bytes_read;
-  GIOStatus status;
+	GIOStatus status;
 	GError *error = NULL;
 
 	if (cond & (G_IO_IN | G_IO_PRI) )
 	{
-    do
-    {
-		  status = g_io_channel_read_chars (ioc, buffer, sizeof(buffer), &bytes_read, &error);
-      if (bytes_read > 0)
-      {
-		    //Write the content of the bzip/gzip extracted file to the file pointed by the file stream
-		    fwrite (buffer, 1, bytes_read, stream);
-      }
-      else if (error != NULL)
-      {
-        response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK, _("An error occurred:"),error->message);
-        g_error_free (error);
-        return FALSE;
-      }
-    }
-    while (status == G_IO_STATUS_NORMAL);
+		do
+	    {
+			status = g_io_channel_read_chars (ioc, buffer, sizeof(buffer), &bytes_read, &error);
+			if (bytes_read > 0)
+			{
+				//Write the content of the bzip/gzip extracted file to the file pointed by the file stream
+				fwrite (buffer, 1, bytes_read, stream);
+			}
+			else if (error != NULL)
+			{
+			response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK, _("An error occurred:"),error->message);
+			g_error_free (error);
+			return FALSE;
+			}
+		}
+		while (status == G_IO_STATUS_NORMAL);
 
-    if (status == G_IO_STATUS_ERROR || status == G_IO_STATUS_EOF)
-      goto done;
+		if (status == G_IO_STATUS_ERROR || status == G_IO_STATUS_EOF)
+		goto done;
 	}
 	else if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL) )
 	{
-done:
+		done:
 		fclose ( stream );
 		g_io_channel_shutdown ( ioc,TRUE,NULL );
 		g_io_channel_unref (ioc);
@@ -387,15 +387,15 @@
 
 void Bzip2Add ( gchar *filename , XArchive *archive , gboolean flag )
 {
-    stream = fopen ( archive->path , "w" );
+	stream = fopen ( archive->path , "w" );
 	if ( stream == NULL )
 	{
 		response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't decompress the archive:"),g_strerror(errno));
-        done = FALSE;
-        return;					
+		done = FALSE;
+		return;					
 	}
-    gtk_widget_show ( viewport2 );
-    gchar *command = g_strconcat ( flag ? "gzip -c " : "bzip2 -c " , filename , NULL );
+	gtk_widget_show ( viewport2 );
+	gchar *command = g_strconcat ( flag ? "gzip -c " : "bzip2 -c " , filename , NULL );
 	archive->parse_output = 0;
 	SpawnAsyncProcess ( archive , command , 0, 0);
 	g_free ( command );
@@ -403,9 +403,9 @@
 		return;
 
 	GIOChannel *ioc = g_io_channel_unix_new ( output_fd );
-    g_io_channel_set_encoding (ioc, NULL , NULL);
+	g_io_channel_set_encoding (ioc, NULL , NULL);
 	g_io_channel_set_flags ( ioc , G_IO_FLAG_NONBLOCK , NULL );
-    g_io_add_watch (ioc, G_IO_IN|G_IO_PRI|G_IO_ERR|G_IO_HUP|G_IO_NVAL, ExtractToDifferentLocation, stream );
+	g_io_add_watch (ioc, G_IO_IN|G_IO_PRI|G_IO_ERR|G_IO_HUP|G_IO_NVAL, ExtractToDifferentLocation, stream );
 	g_child_watch_add ( archive->child_pid, (GChildWatchFunc)xa_watch_child, archive);
 }
 

Modified: xarchiver/trunk/src/callbacks.c
===================================================================
--- xarchiver/trunk/src/callbacks.c	2006-08-02 08:35:54 UTC (rev 22626)
+++ xarchiver/trunk/src/callbacks.c	2006-08-02 10:57:39 UTC (rev 22627)
@@ -193,7 +193,8 @@
 			}
 		}
 	}
-	if (archive->status != XA_ARCHIVESTATUS_EXTRACT || cli == FALSE)
+
+	if ( archive->status != XA_ARCHIVESTATUS_EXTRACT && archive->type != XARCHIVETYPE_BZIP2 && archive->type != XARCHIVETYPE_GZIP)
 	{
 		gtk_tree_view_set_model (GTK_TREE_VIEW(treeview1), model);
 		g_object_unref (model);
@@ -1888,6 +1889,7 @@
 	g_strfreev ( array );
 	archive->full_path = full_path;
 	archive->add_recurse = add_recurse;
+	archive->status = XA_ARCHIVESTATUS_IDLE;
 }
 
 gboolean key_press_function (GtkWidget *widget, GdkEventKey *event, gpointer data)



More information about the Xfce4-commits mailing list