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

Giuseppe Torelli colossus at xfce.org
Wed Aug 2 08:35:56 UTC 2006


Author: colossus
Date: 2006-08-02 08:35:54 +0000 (Wed, 02 Aug 2006)
New Revision: 22626

Modified:
   xarchiver/trunk/src/callbacks.c
   xarchiver/trunk/src/extract_dialog.c
Log:
Fixed missed single extraction from ISO images with DnD. Thanks to baze for reporting this.


Modified: xarchiver/trunk/src/callbacks.c
===================================================================
--- xarchiver/trunk/src/callbacks.c	2006-08-02 08:08:23 UTC (rev 22625)
+++ xarchiver/trunk/src/callbacks.c	2006-08-02 08:35:54 UTC (rev 22626)
@@ -578,9 +578,8 @@
 void xa_about (GtkMenuItem *menuitem, gpointer user_data)
 {
     static GtkWidget *about = NULL;
-    const char *authors[] = {"\nDeveloper:\nGiuseppe Torelli - Colossus <colossus73 at gmail.com>\n",NULL};
-    const char *documenters[] = {"\nSpecial thanks to Bjoern Martensen for discovering\nmany bugs in the Xarchiver 0.3.9svn code.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nEnrico Troeger\nSalvatore Santagati\nUracile for the stunning logo\nThe people of gtk-app-devel-list.", NULL};
-	/* const char *translators[] = {"Enrico Troeger\nStavros Giannouris\nPiarres Beobide\nJari Rahkonen\nPierrick Le Brun\nYuval Tanny\nSZERVÑC Attila\nDaichi Kawahata\nStephan Arts\nSzymon Kałasz\nAndrey Fedoseev\nDaniel Nylander\nCosmo Chene", NULL}; */
+    const char *authors[] = {"\nDevelopers:\nGiuseppe Torelli - Colossus <colossus73 at gmail.com>\nSalvatore Santagati for the ISO support. <salvatore.santagati at gmail.com>\n",NULL};
+    const char *documenters[] = {"\nSpecial thanks to Bjoern Martensen for discovering\nmany bugs in the Xarchiver development code.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nEnrico Troeger\nUracile for the stunning logo\nThe people of gtk-app-devel-list.", NULL};
 	if (about != NULL)
 	{
 		gtk_window_present (GTK_WINDOW (about));
@@ -1769,7 +1768,7 @@
 		fm_path = g_realloc (fm_path, fm_path_len + 1);
 		fm_path[fm_path_len] = '\0';
 		no_uri_path = g_filename_from_uri ( (gchar*)fm_path, NULL, NULL );
-		//g_message ("%s - %s",fm_path,no_uri_path);
+		/* g_message ("%s - %s",fm_path,no_uri_path); */
 		g_free ( fm_path );
 		if (no_uri_path == NULL)
 		{

Modified: xarchiver/trunk/src/extract_dialog.c
===================================================================
--- xarchiver/trunk/src/extract_dialog.c	2006-08-02 08:08:23 UTC (rev 22625)
+++ xarchiver/trunk/src/extract_dialog.c	2006-08-02 08:35:54 UTC (rev 22626)
@@ -533,44 +533,12 @@
 				if ( command != NULL )
 					return command;
 			}
-			/* Here we take care of the selected files only */
 			else
 			{
-				/* ISO extraction is different from the other type of archives */
-				if (archive->type == XARCHIVETYPE_ISO)
-				{
-					GList *row_list = NULL;
-					selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW (treeview1) );
-					row_list = gtk_tree_selection_get_selected_rows (selection, &model);
-					while (row_list)
-					{
-						gtk_tree_model_get_iter(model, &iter, row_list->data);
-						gtk_tree_model_get (model, &iter,
-						0, &name,
-						1, &permissions,
-						2, &file_size,
-						4, &file_offset,
-						-1);
-						gtk_tree_path_free (row_list->data);
-
-						xa_extract_single_iso_file (archive, permissions, extract_path, name , file_size, file_offset );
-						g_free (name);
-						g_free (permissions);
-						row_list = row_list->next;
-					}
-					g_list_free (row_list);
-					xa_set_button_state (1,1,0,1,1);
-					OffTooltipPadlock();
-					Update_StatusBar ( _("Operation completed.") );
-				}
-				/* Let's handle the other archive types */
-				else
-				{
-					names = g_string_new ( " " );
-					gtk_tree_selection_selected_foreach (selection, (GtkTreeSelectionForeachFunc) ConcatenateFileNames, names );
-					command = xa_extract_single_files ( archive , names, extract_path );
-					g_string_free (names, TRUE);
-				}
+				names = g_string_new ( " " );
+				gtk_tree_selection_selected_foreach (selection, (GtkTreeSelectionForeachFunc) ConcatenateFileNames, names );
+				command = xa_extract_single_files ( archive , names, extract_path );
+				g_string_free (names, TRUE);
 			}
 		}
 	}
@@ -693,6 +661,37 @@
 									archive->escaped_path , " " , path , files->str, NULL );
 		break;
 		
+		case XARCHIVETYPE_ISO:
+		{
+			GList *row_list = NULL;
+			GtkTreeSelection *selection;
+
+			selection = gtk_tree_view_get_selection ( GTK_TREE_VIEW (treeview1) );
+			row_list = gtk_tree_selection_get_selected_rows (selection, &model);
+			while (row_list)
+			{
+				gtk_tree_model_get_iter(model, &iter, row_list->data);
+				gtk_tree_model_get (model, &iter,
+				0, &name,
+				1, &permissions,
+				2, &file_size,
+				4, &file_offset,
+				-1);
+				gtk_tree_path_free (row_list->data);
+
+				xa_extract_single_iso_file (archive, permissions, extract_path, name , file_size, file_offset );
+				g_free (name);
+				g_free (permissions);
+				row_list = row_list->next;
+			}
+			g_list_free (row_list);
+			xa_set_button_state (1,1,0,1,1);
+			OffTooltipPadlock();
+			Update_StatusBar ( _("Operation completed.") );
+			command = NULL;
+		}
+		break;
+
 		default:
 		command = NULL;
     }



More information about the Xfce4-commits mailing list