[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