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

Giuseppe Torelli colossus at xfce.org
Wed Dec 12 10:38:05 CET 2007


Author: colossus
Date: 2007-12-12 09:38:05 +0000 (Wed, 12 Dec 2007)
New Revision: 26461

Modified:
   xarchiver/trunk/src/add_dialog.c
   xarchiver/trunk/src/add_dialog.h
   xarchiver/trunk/src/archive.c
   xarchiver/trunk/src/arj.c
   xarchiver/trunk/src/arj.h
   xarchiver/trunk/src/interface.h
   xarchiver/trunk/src/rar.c
   xarchiver/trunk/src/rar.h
   xarchiver/trunk/src/window.c
Log:
Completely redesigned the add dialog's layout.
Removed a global variable in rar.c and arj.c.


Modified: xarchiver/trunk/src/add_dialog.c
===================================================================
--- xarchiver/trunk/src/add_dialog.c	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/add_dialog.c	2007-12-12 09:38:05 UTC (rev 26461)
@@ -23,161 +23,112 @@
 #include "window.h"
 #include "support.h"
 
-static const GtkTargetEntry drop_targets[] =
-{
-	{ "text/uri-list", 0, 0 },
-};
-
 Add_dialog_data *xa_create_add_dialog (XArchive *archive)
 {
+	GtkWidget *label1,*label2,*label3,*label4,*hbox1,*hbox2,*hbox3,*option_notebook_page,*hbuttonbox2,*alignment1,*alignment2;
 	Add_dialog_data *add_dialog;
 	unsigned short int default_value, max_value;
 	default_value = max_value = 0;
 	gchar *compression_msg = NULL;
 
 	add_dialog = g_new0 (Add_dialog_data, 1);
-	add_dialog->file_dir_radio_group = NULL;
+	add_dialog->path_group = NULL;
 	add_dialog->option_tooltip = gtk_tooltips_new ();
 
 	add_dialog->dialog1 = gtk_dialog_new ();
+	gtk_widget_set_size_request (add_dialog->dialog1, 537, 400);
 	gtk_window_set_title (GTK_WINDOW (add_dialog->dialog1), _("Add files to the archive"));
-	gtk_window_set_type_hint (GTK_WINDOW (add_dialog->dialog1), GDK_WINDOW_TYPE_HINT_DIALOG);
 	gtk_window_set_transient_for ( GTK_WINDOW (add_dialog->dialog1) , GTK_WINDOW (MainWindow) );
-	gtk_window_set_resizable (GTK_WINDOW (add_dialog->dialog1), FALSE);
 	gtk_dialog_set_has_separator (GTK_DIALOG (add_dialog->dialog1), FALSE);
 
 	add_dialog->add_option_tooltip = gtk_tooltips_new ();
 	add_dialog->dialog_vbox1 = GTK_DIALOG (add_dialog->dialog1)->vbox;
 	gtk_widget_show (add_dialog->dialog_vbox1);
 
-	add_dialog->frame5 = gtk_frame_new (NULL);
-	gtk_widget_show (add_dialog->frame5);
-	gtk_box_pack_start (GTK_BOX (add_dialog->dialog_vbox1), add_dialog->frame5, TRUE, TRUE, 5);
-	gtk_widget_set_size_request (add_dialog->frame5, 400, -1);
+	add_dialog->notebook1 = gtk_notebook_new ();
+	gtk_widget_show (add_dialog->notebook1);
+	gtk_box_pack_start (GTK_BOX (add_dialog->dialog_vbox1), add_dialog->notebook1, TRUE, TRUE, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (add_dialog->notebook1), 4);
 
-	add_dialog->alignment5 = gtk_alignment_new (0.5, 0.5, 1, 1);
-	gtk_widget_show (add_dialog->alignment5);
-	gtk_container_add (GTK_CONTAINER (add_dialog->frame5), add_dialog->alignment5);
-	gtk_alignment_set_padding (GTK_ALIGNMENT (add_dialog->alignment5), 2, 5, 5, 5);
+	/* Selection page */
+	vbox1 = gtk_vbox_new (FALSE, 0);
+	gtk_widget_show (vbox1);
+	gtk_container_add (GTK_CONTAINER (add_dialog->notebook1), vbox1);
 
-	add_dialog->vbox7 = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (add_dialog->vbox7);
-	gtk_container_add (GTK_CONTAINER (add_dialog->alignment5), add_dialog->vbox7);
+	label1 = gtk_label_new (_("Selection"));
+	gtk_widget_show (label1);
+	gtk_notebook_set_tab_label (GTK_NOTEBOOK (add_dialog->notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (add_dialog->notebook1), 0), label1);
+	
+	add_dialog->filechooserwidget1 = gtk_file_chooser_widget_new (GTK_FILE_CHOOSER_ACTION_OPEN);
+	gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(add_dialog->filechooserwidget1),TRUE);
+	gtk_widget_show (add_dialog->filechooserwidget1);
+	gtk_box_pack_start (GTK_BOX (vbox1), add_dialog->filechooserwidget1, TRUE, TRUE, 0);
 
-	add_dialog->scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
-	gtk_widget_show (add_dialog->scrolledwindow3);
-	gtk_box_pack_start (GTK_BOX (add_dialog->vbox7), add_dialog->scrolledwindow3, TRUE, TRUE, 0);
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (add_dialog->scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (add_dialog->scrolledwindow3), GTK_SHADOW_IN);
+	add_dialog->frame1 = gtk_frame_new (NULL);
+	gtk_widget_show (add_dialog->frame1);
+	gtk_box_pack_start (GTK_BOX (vbox1), add_dialog->frame1, FALSE, TRUE, 5);
+	gtk_container_set_border_width (GTK_CONTAINER (add_dialog->frame1), 5);
 
-	add_dialog->file_liststore = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
+	alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1);
+	gtk_widget_show (alignment1);
+	gtk_container_add (GTK_CONTAINER (add_dialog->frame1), alignment1);
+	gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, 5, 5);
 
-	add_dialog->file_list_treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(add_dialog->file_liststore));
-	add_dialog->column = gtk_tree_view_column_new();
+	label3 = gtk_label_new (_("File Paths: "));
+	gtk_widget_show (label3);
+	gtk_frame_set_label_widget (GTK_FRAME (add_dialog->frame1), label3);
 
-	add_dialog->selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(add_dialog->file_list_treeview) );
-	gtk_tree_selection_set_mode(add_dialog->selection, GTK_SELECTION_MULTIPLE);
+	hbox1 = gtk_hbox_new (TRUE, 0);
+	gtk_widget_show (hbox1);
+	gtk_container_add (GTK_CONTAINER (alignment1), hbox1);
 
-	add_dialog->renderer = gtk_cell_renderer_pixbuf_new();
-	gtk_tree_view_column_pack_start (add_dialog->column, add_dialog->renderer, FALSE);
-	gtk_tree_view_column_add_attribute (add_dialog->column, add_dialog->renderer, "stock-id", 0);
+	add_dialog->radiobutton3 = gtk_radio_button_new_with_mnemonic (NULL, _("Store full paths"));
+	gtk_widget_show (add_dialog->radiobutton3);
+	gtk_box_pack_start (GTK_BOX (hbox1), add_dialog->radiobutton3, TRUE, TRUE, 0);
+	gtk_radio_button_set_group (GTK_RADIO_BUTTON (add_dialog->radiobutton3), add_dialog->path_group);
+	add_dialog->path_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (add_dialog->radiobutton3));
+	gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->radiobutton3), FALSE);
 
-	add_dialog->renderer = gtk_cell_renderer_text_new();
-	gtk_tree_view_column_pack_start(add_dialog->column, add_dialog->renderer, TRUE);
-	gtk_tree_view_column_add_attribute(add_dialog->column, add_dialog->renderer, "text", 1);
+	add_dialog->radiobutton4 = gtk_radio_button_new_with_mnemonic (NULL, _("Do not store paths"));
+	gtk_widget_show (add_dialog->radiobutton4);
+	gtk_box_pack_start (GTK_BOX (hbox1), add_dialog->radiobutton4, TRUE, TRUE, 0);
+	gtk_radio_button_set_group (GTK_RADIO_BUTTON (add_dialog->radiobutton4), add_dialog->path_group);
+	add_dialog->path_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (add_dialog->radiobutton4));
+	gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->radiobutton4), FALSE);
 
-	gtk_tree_view_append_column(GTK_TREE_VIEW(add_dialog->file_list_treeview), add_dialog->column);
+	/* Options page */
+	option_notebook_page = gtk_vbox_new (FALSE, 0);
+	gtk_widget_show (option_notebook_page);
+	gtk_container_add (GTK_CONTAINER (add_dialog->notebook1), option_notebook_page);
 
-	gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(add_dialog->file_list_treeview), TRUE);
-	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (add_dialog->file_list_treeview), FALSE);
-	gtk_container_add (GTK_CONTAINER (add_dialog->scrolledwindow3), add_dialog->file_list_treeview);
-	gtk_widget_show (add_dialog->file_list_treeview);
+	label2 = gtk_label_new (_("Options"));
+	gtk_widget_show (label2);
+	gtk_notebook_set_tab_label (GTK_NOTEBOOK (add_dialog->notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (add_dialog->notebook1), 1), label2);
 
-	gtk_drag_dest_set (add_dialog->file_list_treeview,GTK_DEST_DEFAULT_ALL, drop_targets, 1, GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK);
-	g_signal_connect (G_OBJECT (add_dialog->file_liststore),	"row-inserted",		G_CALLBACK (activate_remove_button) , add_dialog);
-	g_signal_connect (G_OBJECT (add_dialog->file_list_treeview),"drag-data-received",G_CALLBACK (add_drag_data_received), add_dialog);
+	hbuttonbox2 = gtk_hbutton_box_new ();
+	gtk_widget_show (hbuttonbox2);
+	gtk_box_pack_start (GTK_BOX (hbox1), hbuttonbox2, TRUE, TRUE, 0);
+	gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 5);
+	gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
+	gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 8);
 
-	add_dialog->hbox1 = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (add_dialog->hbox1);
-	gtk_box_pack_start (GTK_BOX (add_dialog->vbox7), add_dialog->hbox1, TRUE, TRUE, 0);
-
-	add_dialog->vbox8 = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (add_dialog->vbox8);
-	gtk_box_pack_start (GTK_BOX (add_dialog->hbox1), add_dialog->vbox8, TRUE, FALSE, 0);
-
-	add_dialog->files_radio = gtk_radio_button_new_with_mnemonic (NULL, _("Files"));
-	gtk_widget_show (add_dialog->files_radio);
-	gtk_box_pack_start (GTK_BOX (add_dialog->vbox8), add_dialog->files_radio, FALSE, FALSE, 0);
-	gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->files_radio), FALSE);
-	gtk_radio_button_set_group (GTK_RADIO_BUTTON (add_dialog->files_radio), add_dialog->file_dir_radio_group);
-	add_dialog->file_dir_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (add_dialog->files_radio));
-
-	add_dialog->directories_radio = gtk_radio_button_new_with_mnemonic (NULL, _("Directories"));
-	gtk_widget_show (add_dialog->directories_radio);
-	gtk_box_pack_start (GTK_BOX (add_dialog->vbox8), add_dialog->directories_radio, FALSE, FALSE, 0);
-	gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->directories_radio), FALSE);
-	gtk_radio_button_set_group (GTK_RADIO_BUTTON (add_dialog->directories_radio), add_dialog->file_dir_radio_group);
-	add_dialog->file_dir_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (add_dialog->directories_radio));
-
-	if (archive->type != XARCHIVETYPE_LHA)
-		g_signal_connect (G_OBJECT (add_dialog->files_radio),"toggled",G_CALLBACK (toggle_recurse) , add_dialog);
-
-	add_dialog->hbuttonbox2 = gtk_hbutton_box_new ();
-	gtk_widget_show (add_dialog->hbuttonbox2);
-	gtk_box_pack_start (GTK_BOX (add_dialog->hbox1), add_dialog->hbuttonbox2, TRUE, TRUE, 0);
-	gtk_container_set_border_width (GTK_CONTAINER (add_dialog->hbuttonbox2), 5);
-	gtk_button_box_set_layout (GTK_BUTTON_BOX (add_dialog->hbuttonbox2), GTK_BUTTONBOX_END);
-	gtk_box_set_spacing (GTK_BOX (add_dialog->hbuttonbox2), 8);
-
-	add_dialog->remove_button = gtk_button_new_from_stock ("gtk-remove");
-	gtk_widget_set_sensitive ( add_dialog->remove_button, FALSE );
-	gtk_widget_show (add_dialog->remove_button);
-	gtk_container_add (GTK_CONTAINER (add_dialog->hbuttonbox2), add_dialog->remove_button);
-	GTK_WIDGET_SET_FLAGS (add_dialog->remove_button, GTK_CAN_DEFAULT);
-	g_signal_connect ( (gpointer) add_dialog->remove_button, "clicked", G_CALLBACK (remove_files_liststore) , add_dialog );
-
-	add_dialog->add_files_button = gtk_button_new_from_stock ("gtk-add");
-	gtk_widget_show (add_dialog->add_files_button);
-	gtk_tooltips_set_tip (add_dialog->add_option_tooltip,add_dialog->add_files_button , _("Choose the files or directories to add to the archive"), NULL );
-	gtk_container_add (GTK_CONTAINER (add_dialog->hbuttonbox2), add_dialog->add_files_button);
-	GTK_WIDGET_SET_FLAGS (add_dialog->add_files_button, GTK_CAN_DEFAULT);
-	g_signal_connect ( (gpointer) add_dialog->add_files_button, "clicked", G_CALLBACK (xa_select_files_to_add) , add_dialog );
-
-	add_dialog->label3 = gtk_label_new (_("<b>Files and directories to add </b>"));
-	gtk_widget_show (add_dialog->label3);
-	gtk_frame_set_label_widget (GTK_FRAME (add_dialog->frame5), add_dialog->label3);
-	gtk_label_set_use_markup (GTK_LABEL (add_dialog->label3), TRUE);
-
-	add_dialog->frame4 = gtk_frame_new (NULL);
-	gtk_widget_show (add_dialog->frame4);
-	gtk_box_pack_start (GTK_BOX (add_dialog->dialog_vbox1), add_dialog->frame4, TRUE, FALSE, 0);
-
-	add_dialog->alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1);
-	gtk_widget_show (add_dialog->alignment4);
-	gtk_container_add (GTK_CONTAINER (add_dialog->frame4), add_dialog->alignment4);
-	gtk_alignment_set_padding (GTK_ALIGNMENT (add_dialog->alignment4), 0, 0, 12, 0);
-
-	add_dialog->vbox6 = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (add_dialog->vbox6);
-	gtk_container_add (GTK_CONTAINER (add_dialog->alignment4), add_dialog->vbox6);
-
-	if(archive->type != XARCHIVETYPE_LHA)
+	/*if(archive->type != XARCHIVETYPE_LHA)
 	{
-		add_dialog->recurse = gtk_check_button_new_with_mnemonic (_("Recurse subdirectories"));
+		add_dialog->recurse = gtk_check_button_new_with_mnemonic (_("Include subdirectories"));
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->recurse), archive->add_recurse);
 		if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(add_dialog->files_radio)))
 			gtk_widget_set_sensitive (add_dialog->recurse, FALSE);
 		gtk_widget_show (add_dialog->recurse);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->recurse, FALSE, FALSE, 0);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page), add_dialog->recurse, FALSE, FALSE, 0);
 		gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->recurse , _("Include everything in the directory recursively 	starting from the current directory."), NULL);
-	}
+	}*/
 
 	if ( (archive->type == XARCHIVETYPE_RAR) || (archive->type == XARCHIVETYPE_7ZIP && archive->nr_of_files == 0 && archive->nr_of_dirs == 0))
 	{
 		add_dialog->solid_archive = gtk_check_button_new_with_mnemonic (_("Generate a solid archive"));
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->solid_archive), archive->solid_archive);
 		gtk_widget_show (add_dialog->solid_archive);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->solid_archive, FALSE, FALSE, 0);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page), add_dialog->solid_archive, FALSE, FALSE, 0);
 		gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->solid_archive , _("In a solid archive the files are grouped together featuring a better compression ratio."), NULL);
 	}
 
@@ -186,27 +137,15 @@
 		add_dialog->remove_files = gtk_check_button_new_with_mnemonic (_("Remove files after adding"));
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->remove_files), archive->remove_files);
 		gtk_widget_show (add_dialog->remove_files);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->remove_files, FALSE, FALSE, 0);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page), add_dialog->remove_files, FALSE, FALSE, 0);
 	}
 
 	if (archive->type != XARCHIVETYPE_7ZIP && archive->type != XARCHIVETYPE_LHA)
 	{
-		if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA)
-			add_dialog->add_full_path = gtk_check_button_new_with_mnemonic (_("Do not add absolute paths"));
-		else
-			add_dialog->add_full_path = gtk_check_button_new_with_mnemonic (_("Do not add file paths"));
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->add_full_path), archive->full_path);
-		gtk_widget_show (add_dialog->add_full_path);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->add_full_path, FALSE, FALSE, 0);
-		if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA)
-			gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->add_full_path , _("The files path doesn't include the user home directory."), NULL);
-		else
-			gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->add_full_path , _("Store just the name of a file without its directory names."), NULL);
-
 		add_dialog->freshen = gtk_check_button_new_with_mnemonic (_("Freshen an existing entry"));
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->freshen), archive->freshen);
 		gtk_widget_show (add_dialog->freshen);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->freshen, FALSE, FALSE, 0);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page), add_dialog->freshen, FALSE, FALSE, 0);
 		gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->freshen , _("This option affects the archive only if it has been modified more recently than the version already in the archive; unlike the update option it will not add files that are not already in the archive."), NULL );
 		g_signal_connect (G_OBJECT (add_dialog->freshen),"toggled",G_CALLBACK (add_fresh_update_toggled_cb) , add_dialog);
 	}
@@ -214,7 +153,7 @@
 	add_dialog->update = gtk_check_button_new_with_mnemonic (_("Update an existing entry"));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (add_dialog->update), archive->update);
 	gtk_widget_show (add_dialog->update);
-	gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->update, FALSE, FALSE, 0);
+	gtk_box_pack_start (GTK_BOX (option_notebook_page), add_dialog->update, FALSE, FALSE, 0);
 	gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->update, _("This option will add any new files and update any files which have been modified since the archive was last created/modified."), NULL );
 
 	if (archive->type != XARCHIVETYPE_7ZIP)
@@ -257,29 +196,29 @@
 			max_value = 7;
 		}
 
-		add_dialog->hbox3 = gtk_hbox_new (FALSE, 0);
-		gtk_widget_show (add_dialog->hbox3);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->hbox3, TRUE, TRUE, 0);
+		hbox2 = gtk_hbox_new (FALSE, 0);
+		gtk_widget_show (hbox2);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page),hbox2, TRUE, TRUE, 0);
 
 		if (archive->type != XARCHIVETYPE_LHA)
 		{
 			add_dialog->add_password = gtk_check_button_new_with_mnemonic (_("Password:"));
 			gtk_widget_show (add_dialog->add_password);
-			gtk_box_pack_start (GTK_BOX (add_dialog->hbox3), add_dialog->add_password, FALSE, FALSE, 0);
+			gtk_box_pack_start (GTK_BOX (hbox2), add_dialog->add_password, FALSE, FALSE, 0);
 			g_signal_connect (G_OBJECT (add_dialog->add_password), "toggled",G_CALLBACK (password_toggled_cb) , add_dialog);
 
 			add_dialog->add_password_entry = gtk_entry_new ();
 			gtk_widget_show (add_dialog->add_password_entry);
-			gtk_box_pack_start (GTK_BOX (add_dialog->hbox3), add_dialog->add_password_entry, FALSE, FALSE, 0);
+			gtk_box_pack_start (GTK_BOX (hbox2), add_dialog->add_password_entry, FALSE, FALSE, 0);
 			gtk_entry_set_visibility (GTK_ENTRY (add_dialog->add_password_entry), FALSE);
 			gtk_widget_set_sensitive (add_dialog->add_password_entry, FALSE);
 		}
-		add_dialog->hbox2 = gtk_hbox_new (FALSE, 6);
-		gtk_widget_show (add_dialog->hbox2);
-		gtk_box_pack_start (GTK_BOX (add_dialog->vbox6), add_dialog->hbox2, TRUE, TRUE, 0);
-		add_dialog->label4 = gtk_label_new (_("Compression level:"));
-		gtk_widget_show (add_dialog->label4);
-		gtk_box_pack_start (GTK_BOX (add_dialog->hbox2), add_dialog->label4, FALSE, FALSE, 0);
+		hbox3 = gtk_hbox_new (FALSE, 6);
+		gtk_widget_show (hbox3);
+		gtk_box_pack_start (GTK_BOX (option_notebook_page), hbox3, TRUE, TRUE, 0);
+		label4 = gtk_label_new (_("Compression level:"));
+		gtk_widget_show (label4);
+		gtk_box_pack_start (GTK_BOX (hbox3), label4, FALSE, FALSE, 0);
 
 		if (archive->type == XARCHIVETYPE_7ZIP)
 			add_dialog->compression_value = gtk_adjustment_new (default_value, 0, max_value, 2, 2, 0);
@@ -290,7 +229,7 @@
 
 		add_dialog->compression_scale = gtk_hscale_new ( GTK_ADJUSTMENT (add_dialog->compression_value) );
 		gtk_widget_show (add_dialog->compression_scale);
-		gtk_box_pack_start (GTK_BOX (add_dialog->hbox2), add_dialog->compression_scale, TRUE, TRUE, 0);
+		gtk_box_pack_start (GTK_BOX (hbox3), add_dialog->compression_scale, TRUE, TRUE, 0);
 		gtk_scale_set_value_pos (GTK_SCALE (add_dialog->compression_scale), GTK_POS_LEFT);
 		gtk_scale_set_digits (GTK_SCALE (add_dialog->compression_scale), 0);
 		if (archive->compression_level == 0)
@@ -304,11 +243,6 @@
 		gtk_tooltips_set_tip (add_dialog->option_tooltip,add_dialog->compression_scale, compression_msg, NULL );
 	}
 
-	add_dialog->label2 = gtk_label_new (_("<b>Options </b>"));
-	gtk_widget_show (add_dialog->label2);
-	gtk_frame_set_label_widget (GTK_FRAME (add_dialog->frame4), add_dialog->label2);
-	gtk_label_set_use_markup (GTK_LABEL (add_dialog->label2), TRUE);
-
 	add_dialog->dialog_action_area2 = GTK_DIALOG (add_dialog->dialog1)->action_area;
 	gtk_widget_show (add_dialog->dialog_action_area2);
 	gtk_button_box_set_layout (GTK_BUTTON_BOX (add_dialog->dialog_action_area2), GTK_BUTTONBOX_END);
@@ -323,14 +257,14 @@
 	add_dialog->add_hbox = gtk_hbox_new(FALSE, 4);
 	add_dialog->add_label = gtk_label_new_with_mnemonic(_("_Add"));
 
-	add_dialog->alignment6 = gtk_alignment_new (0.5, 0.5, 0, 0);
-	gtk_widget_show (add_dialog->alignment6);
-	gtk_container_add (GTK_CONTAINER (add_dialog->alignment6), add_dialog->add_hbox);
+	alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0);
+	gtk_widget_show (alignment2);
+	gtk_container_add (GTK_CONTAINER (alignment2), add_dialog->add_hbox);
 
 	gtk_box_pack_start(GTK_BOX(add_dialog->add_hbox), add_dialog->add_image, FALSE, TRUE, 0);
 	gtk_box_pack_start(GTK_BOX(add_dialog->add_hbox), add_dialog->add_label, FALSE, TRUE, 0);
 	gtk_widget_show_all (add_dialog->add_hbox);
-	gtk_container_add(GTK_CONTAINER(add_dialog->add_button), add_dialog->alignment6);
+	gtk_container_add(GTK_CONTAINER(add_dialog->add_button), alignment2);
 	gtk_widget_show (add_dialog->add_button);
 	gtk_dialog_add_action_widget (GTK_DIALOG (add_dialog->dialog1), add_dialog->add_button, GTK_RESPONSE_OK);
 	GTK_WIDGET_SET_FLAGS (add_dialog->add_button, GTK_CAN_DEFAULT);
@@ -345,14 +279,6 @@
 		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->update), FALSE);
 }
 
-void toggle_recurse (GtkButton* button, Add_dialog_data *data)
-{
-	Add_dialog_data *add_dialog = data;
-
-	gboolean active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(add_dialog->directories_radio));
-		gtk_widget_set_sensitive (add_dialog->recurse, active);
-}
-
 void add_update_fresh_toggled_cb (GtkToggleButton *button, Add_dialog_data *data)
 {
 	if (data->freshen == NULL)
@@ -374,133 +300,6 @@
 		gtk_widget_set_sensitive (add_dialog->add_password_entry, FALSE);
 }
 
-void add_drag_data_received (GtkWidget *widget,GdkDragContext *context, int x,int y,GtkSelectionData *data, unsigned int info, unsigned int time, gpointer user_data)
-{
-	Add_dialog_data *add = user_data;
-	gchar **array = NULL;
-	gchar *filename;
-	unsigned int len = 0;
-
-	array = gtk_selection_data_get_uris ( data );
-	if (array == NULL)
-	{
-		response = xa_show_message_dialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,"",_("Sorry, I could not perform the operation!") );
-		gtk_drag_finish (context, FALSE, FALSE, time);
-		return;
-	}
-	gtk_drag_finish (context, TRUE, FALSE, time);
-	while (array[len])
-	{
-		filename = g_filename_from_uri ( array[len] , NULL, NULL );
-		add_files_liststore (filename , add->file_liststore);
-		g_free (filename);
-		len++;
-	}
-	g_strfreev (array);
-}
-
-void activate_remove_button (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, Add_dialog_data *data)
-{
-	if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(data->file_liststore), iter) == TRUE)
-		gtk_widget_set_sensitive ( data->remove_button, TRUE );
-}
-
-void xa_select_files_to_add ( GtkButton* button, gpointer _add_dialog )
-{
-	GtkWidget *File_Selector;
-	Add_dialog_data *add_dialog = _add_dialog;
-	GSList *dummy = NULL;
-	gchar *title = NULL;
-
-	unsigned short int flag;
-
-	if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(add_dialog->files_radio)) )
-	{
-		title = _("Please select the files you want to add");
-		flag = GTK_FILE_CHOOSER_ACTION_OPEN;
-	}
-	else
-	{
-		title = _("Please select the directories you want to add");
-		flag = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
-	}
-
-	File_Selector = gtk_file_chooser_dialog_new ( title,
-							GTK_WINDOW (MainWindow),
-							flag,
-							GTK_STOCK_CANCEL,
-							GTK_RESPONSE_CANCEL,
-							GTK_STOCK_OPEN,
-							GTK_RESPONSE_ACCEPT,
-							NULL);
-	gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER (File_Selector) , TRUE );
-	response = gtk_dialog_run (GTK_DIALOG (File_Selector));
-	if (response == GTK_RESPONSE_ACCEPT)
-	{
-		dummy = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (File_Selector));
-		g_slist_foreach( dummy, (GFunc) add_files_liststore, add_dialog->file_liststore);
-	}
-
-	if (dummy != NULL)
-		g_slist_free (dummy);
-	gtk_widget_destroy ( File_Selector );
-	return;
-}
-
-/* Code from xarchive - http://xarchive.sourceforge.net */
-void add_files_liststore (gchar *file_path, GtkListStore *liststore)
-{
-	GtkTreeIter iter;
-	gchar *icon = GTK_STOCK_FILE;
-	gchar *file_utf8;
-
-	file_utf8 = g_filename_display_name (file_path);
-	if ( g_file_test(file_path, G_FILE_TEST_IS_DIR) == TRUE )
-		icon = GTK_STOCK_DIRECTORY;
-
-	gtk_list_store_append(liststore, &iter);
-	gtk_list_store_set (liststore, &iter, 0, icon, 1, file_utf8, -1);
-	g_free (file_utf8);
-}
-
-void remove_files_liststore (GtkWidget *widget, gpointer data)
-{
-	Add_dialog_data *add_dialog = data;
-	GtkTreeSelection *sel;
-	GtkTreePath *path;
-	GtkTreeIter iter;
-	GList *rr_list = NULL;
-	GList *node;
-
-	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(add_dialog->file_list_treeview) );
-	gtk_tree_selection_selected_foreach(sel, (GtkTreeSelectionForeachFunc) remove_foreach_func, &rr_list);
-
-	for (node = rr_list; node != NULL; node = node->next)
-	{
-		path = gtk_tree_row_reference_get_path((GtkTreeRowReference *) node->data);
-		if (path)
-		{
-			if ( gtk_tree_model_get_iter(GTK_TREE_MODEL(add_dialog->file_liststore), &iter, path) )
-				gtk_list_store_remove(add_dialog->file_liststore, &iter);
-			gtk_tree_path_free(path);
-		}
-	}
-	if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore), &iter) == FALSE)
-		gtk_widget_set_sensitive ( add_dialog->remove_button, FALSE);
-	g_list_foreach(rr_list, (GFunc) gtk_tree_row_reference_free, NULL);
-	g_list_free(rr_list);
-}
-
-void remove_foreach_func (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GList **rowref_list)
-{
-	GtkTreeRowReference *rowref;
-
-	rowref = gtk_tree_row_reference_new(model, path);
-	*rowref_list = g_list_append(*rowref_list, rowref);
-}
-
-/* End code from xarchive */
-
 void fix_adjustment_value (GtkAdjustment *adjustment, gpointer user_data)
 {
 	unsigned short int digit = gtk_adjustment_get_value (adjustment);
@@ -512,7 +311,6 @@
 
 gchar *xa_parse_add_dialog_options ( XArchive *archive , Add_dialog_data *add_dialog )
 {
-	GtkTreeIter iter;
 	gchar *command = NULL;
 	gchar *temp_password = NULL;
 	gchar *compression_string = NULL;
@@ -530,11 +328,11 @@
 			break;
 
 			case GTK_RESPONSE_OK:
-			if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore), &iter) == FALSE)
+			/*if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore), &iter) == FALSE)
 			{
 				response = xa_show_message_dialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't add files to the archive:"), _("You haven't selected any files to add!") );
 				break;
-			}
+			}*/
 			if ( add_dialog->add_password != NULL && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(add_dialog->add_password)) )
 			{
 				temp_password  = g_strdup (gtk_entry_get_text ( GTK_ENTRY (add_dialog->add_password_entry) ));
@@ -550,10 +348,10 @@
 			done = TRUE;
 			if (add_dialog->recurse != NULL)
 				archive->add_recurse = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON (add_dialog->recurse));
-
+/* TODO: look at the radio button in the select page
 			if (add_dialog->add_full_path != NULL)
 				archive->full_path = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON (add_dialog->add_full_path));
-
+*/
 			if (add_dialog->update != NULL)
 				archive->update = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON (add_dialog->update));
 
@@ -573,8 +371,8 @@
 			}
 
 			//Set the current dir so to avoid archiving the leading directory inside the archive
-			gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore),&iter);
-			gtk_tree_model_get (GTK_TREE_MODEL(add_dialog->file_liststore),&iter,1,&first_item,-1);
+			//gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore),&iter);
+			//gtk_tree_model_get (GTK_TREE_MODEL(add_dialog->file_liststore),&iter,1,&first_item,-1);
 			gchar *current_dir = g_path_get_dirname (first_item);
 			g_free (first_item);
 			chdir (current_dir);
@@ -584,7 +382,7 @@
 			names = g_string_new ( " " );
 			archive->status = XA_ARCHIVESTATUS_ADD;
 
-			if (archive->full_path == 1 && (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA) )
+			/*if (archive->full_path == 1 && (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA) )
 			{
 				while (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(add_dialog->file_liststore), &iter) )
 				{
@@ -600,7 +398,7 @@
 					xa_cat_filenames ( GTK_TREE_MODEL(add_dialog->file_liststore), NULL, &iter, names );
 					gtk_list_store_remove (add_dialog->file_liststore, &iter);
 				}
-			}
+			}*/
 			gtk_widget_set_sensitive (Stop_button,TRUE);
 			gtk_widget_set_sensitive (check_menu,FALSE);
 			gtk_widget_set_sensitive (close1,FALSE);
@@ -689,7 +487,11 @@
 
 		case XARCHIVETYPE_TAR_GZ:
 		if ( g_file_test ( archive->escaped_path , G_FILE_TEST_EXISTS ) )
+		{
+			g_print ("Son qui\n");
 			xa_add_delete_tar_bzip2_gzip ( names , archive, 1 , 1 );
+		}
+		/* This is executed when the archive is newly created */
 		else
 			command = g_strconcat (tar, " ",
 									archive->add_recurse ? "" : "--no-recursion ",

Modified: xarchiver/trunk/src/add_dialog.h
===================================================================
--- xarchiver/trunk/src/add_dialog.h	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/add_dialog.h	2007-12-12 09:38:05 UTC (rev 26461)
@@ -1,5 +1,5 @@
 /*
- *  Copyright (C) 2006 Giuseppe Torelli - <colossus73 at gmail.com>
+ *  Copyright (C) 2007 Giuseppe Torelli - <colossus73 at gmail.com>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -25,34 +25,14 @@
 {
 	GtkWidget *dialog1;
 	GtkWidget *dialog_vbox1;
+	GtkWidget *notebook1;
 	GtkWidget *vbox1;
-	GtkWidget *vbox6;
-	GtkWidget *vbox7;
-	GtkWidget *vbox8;
-	GtkWidget *hbox1;
-	GtkWidget *hbox2;
-	GtkWidget *hbox3;
-	GtkWidget *frame5;
-	GtkWidget *frame4;
-	GtkWidget *remove_button;
-	GtkWidget *add_files_button;
-	GtkWidget *label2;
-	GtkWidget *label3;
-	GtkWidget *label4;
-	GtkWidget *files_radio;
-	GtkWidget *directories_radio;
-	GSList *file_dir_radio_group;
-	GtkWidget *hbuttonbox2;
-	GtkWidget *alignment4;
-	GtkWidget *alignment5;
-	GtkWidget *alignment6;
-	GtkWidget *scrolledwindow3;
-	GtkWidget *file_list_treeview;
-	GtkListStore *file_liststore;
-	GtkCellRenderer *renderer;
-	GtkTreeSelection *selection;
-	GtkTreeViewColumn *column;
-	GtkWidget *add_full_path;
+	GtkWidget *filechooserwidget1;
+	GtkWidget *frame1;
+	GtkWidget *radiobutton3;
+	GSList *path_group;
+	GtkWidget *radiobutton4;
+	GtkWidget *dialog_action_area1;
 	GtkWidget *remove_files;
 	GtkWidget *update;
 	GtkWidget *freshen;
@@ -77,15 +57,9 @@
 void add_fresh_update_toggled_cb (GtkToggleButton *button, Add_dialog_data *data);
 void add_update_fresh_toggled_cb (GtkToggleButton *button, Add_dialog_data *data);
 void password_toggled_cb ( GtkButton* button , gpointer _add_dialog );
-void toggle_recurse (GtkButton* button, Add_dialog_data *data);
 gchar *xa_parse_add_dialog_options ( XArchive *archive, Add_dialog_data *dialog_data );
-void activate_remove_button (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter, Add_dialog_data *data);
-void add_drag_data_received (GtkWidget *widget,GdkDragContext *context, int x,int y,GtkSelectionData *data, unsigned int info, unsigned int time, gpointer user_data);
 void xa_select_files_to_add ( GtkButton* button , gpointer _add_dialog );
 gchar *xa_add_single_files ( XArchive *archive , GString *names, gchar *compression_string);
-void add_files_liststore (gchar *file_path, GtkListStore *liststore);
-void remove_files_liststore (GtkWidget *widget, gpointer data);
-void remove_foreach_func (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, GList **rowref_list);
 void fix_adjustment_value (GtkAdjustment *adjustment, gpointer user_data);
 
 #endif

Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/archive.c	2007-12-12 09:38:05 UTC (rev 26461)
@@ -26,7 +26,7 @@
 
 static gboolean xa_process_output (GIOChannel *ioc, GIOCondition cond, gpointer data);
 
-XArchive *xa_init_archive_structure ()
+XArchive *xa_init_archive_structure()
 {
 	XEntry *entry = NULL;
 	XArchive *archive = NULL;
@@ -38,14 +38,14 @@
 	return archive;
 }
 
-void xa_spawn_async_process (XArchive *archive , gchar *command)
+void xa_spawn_async_process (XArchive *archive, gchar *command)
 {
 	GIOChannel *ioc,*err_ioc;
 	gchar **argv;
 	gint argcp, response;
 	GError *error = NULL;
 
-	g_shell_parse_argv ( command , &argcp , &argv , NULL);
+	g_shell_parse_argv ( command,&argcp,&argv,NULL);
 	if ( ! g_spawn_async_with_pipes (
 		NULL,
 		argv,

Modified: xarchiver/trunk/src/arj.c
===================================================================
--- xarchiver/trunk/src/arj.c	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/arj.c	2007-12-12 09:38:05 UTC (rev 26461)
@@ -19,7 +19,6 @@
 #include "config.h"
 #include "arj.h"
 
-extern gboolean unrar;
 extern void xa_create_liststore (XArchive *archive, gchar *columns_names[]);
 void xa_get_arj_line_content (gchar *line, gpointer data);
 
@@ -56,6 +55,7 @@
 	XEntry *entry;
 	gpointer item[8];
 	unsigned int linesize,n,a;
+	static gchar *filename;
 
 	if (last_line)
 		return;

Modified: xarchiver/trunk/src/arj.h
===================================================================
--- xarchiver/trunk/src/arj.h	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/arj.h	2007-12-12 09:38:05 UTC (rev 26461)
@@ -27,6 +27,5 @@
 #include "archive.h"
 gboolean jump_header, encrypted, last_line;
 unsigned short int arj_line;
-gchar *filename;
 void xa_open_arj (XArchive *archive);
 #endif

Modified: xarchiver/trunk/src/interface.h
===================================================================
--- xarchiver/trunk/src/interface.h	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/interface.h	2007-12-12 09:38:05 UTC (rev 26461)
@@ -110,7 +110,6 @@
 GtkWidget *location_entry;
 GtkAccelGroup *accel_group;
 GtkTooltips *tooltips;
-GtkTooltips *pad_tooltip;
 GtkWidget *ebox;
 
 typedef struct

Modified: xarchiver/trunk/src/rar.c
===================================================================
--- xarchiver/trunk/src/rar.c	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/rar.c	2007-12-12 09:38:05 UTC (rev 26461)
@@ -72,6 +72,7 @@
 	unsigned short int i = 0;
 	unsigned int linesize,n,a;
 	gboolean dir = FALSE;
+	static gchar *filename;
 
 	if (last_line)
 		return;

Modified: xarchiver/trunk/src/rar.h
===================================================================
--- xarchiver/trunk/src/rar.h	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/rar.h	2007-12-12 09:38:05 UTC (rev 26461)
@@ -26,6 +26,5 @@
 #include "support.h"
 #include "archive.h"
 gboolean jump_header,read_filename, last_line, encrypted;
-gchar *filename;
 void xa_open_rar ( XArchive *archive );
 #endif

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c	2007-12-12 09:29:50 UTC (rev 26460)
+++ xarchiver/trunk/src/window.c	2007-12-12 09:38:05 UTC (rev 26461)
@@ -228,8 +228,6 @@
     xa_disable_delete_view_buttons (FALSE);
 
   	Update_StatusBar ( _("Choose Add to begin creating the archive."));
-    gtk_tooltips_disable ( pad_tooltip );
-    gtk_widget_hide ( pad_image );
 
     archive[current_page]->passwd = NULL;
     archive[current_page]->dummy_size = 0;
@@ -634,8 +632,8 @@
 	idx = xa_find_archive_index ( current_page );
 
 	add_window = xa_create_add_dialog (archive[idx]);
-	command = xa_parse_add_dialog_options ( archive[idx], add_window );
-	gtk_widget_destroy ( add_window->dialog1 );
+	command = xa_parse_add_dialog_options (archive[idx],add_window);
+	gtk_widget_destroy (add_window->dialog1);
 	if (command != NULL)
 	{
 		archive[idx]->status = XA_ARCHIVESTATUS_ADD;
@@ -1645,11 +1643,11 @@
 //TODO: to remove this and also in add_dialog.c:600
 void xa_cat_filenames (GtkTreeModel *model, GtkTreePath *treepath, GtkTreeIter *iter, GString *data)
 {
-	gchar *fullname;
+	gchar *filename;
 
-	gtk_tree_model_get (model,iter,1,&fullname,-1);
-	//xa_shell_quote_filename (fullname,data);
-	g_free (fullname);
+	gtk_tree_model_get (model,iter,1,&filename,-1);
+	//xa_shell_quote_filename (filename,data);
+	g_free (filename);
 }
 
 void Update_StatusBar (gchar *msg)



More information about the Xfce4-commits mailing list