[Xfce4-commits] r23258 - xarchiver/trunk/src
Giuseppe Torelli
colossus at xfce.org
Mon Oct 2 11:26:25 UTC 2006
Author: colossus
Date: 2006-10-02 11:26:11 +0000 (Mon, 02 Oct 2006)
New Revision: 23258
Modified:
xarchiver/trunk/src/callbacks.c
xarchiver/trunk/src/interface.c
xarchiver/trunk/src/interface.h
xarchiver/trunk/src/main.c
xarchiver/trunk/src/new_dialog.c
Log:
Fixed a crash in main.c when using the -d switch and clicking Cancel in the new dialog.
MAde the new archive dialog remembers the last used filter and last udes path.
Modified: xarchiver/trunk/src/callbacks.c
===================================================================
--- xarchiver/trunk/src/callbacks.c 2006-10-02 08:04:27 UTC (rev 23257)
+++ xarchiver/trunk/src/callbacks.c 2006-10-02 11:26:11 UTC (rev 23258)
@@ -35,6 +35,10 @@
extern gboolean unrar;
XArchive *archive = NULL;
+gchar *current_open_directory = NULL;
+GtkFileFilter *open_file_filter = NULL;
+GList *Suffix , *Name;
+//gint current_archive_suffix = 0;
#ifndef HAVE_STRCASESTR
/*
@@ -64,10 +68,6 @@
}
#endif /* !HAVE_STRCASESTR */
-gchar *CurrentFolder = NULL;
-GList *Suffix , *Name;
-gint current_archive_suffix = 0;
-
void xa_watch_child ( GPid pid, gint status, gpointer data)
{
XArchive *archive = data;
@@ -766,8 +766,9 @@
gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER (File_Selector) , FALSE );
else
gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER (File_Selector) , TRUE );
- if (CurrentFolder != NULL)
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (File_Selector) , CurrentFolder );
+
+ if (current_open_directory != NULL)
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (File_Selector) , current_open_directory );
response = gtk_dialog_run (GTK_DIALOG (File_Selector) );
if (response == GTK_RESPONSE_ACCEPT)
list = gtk_file_chooser_get_filenames ( GTK_FILE_CHOOSER (File_Selector) );
@@ -818,8 +819,7 @@
flag2,
GTK_RESPONSE_ACCEPT,
NULL);
- if (CurrentFolder != NULL)
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (File_Selector) , CurrentFolder );
+
gtk_dialog_set_default_response (GTK_DIALOG (File_Selector), GTK_RESPONSE_ACCEPT);
filter = gtk_file_filter_new ();
@@ -840,7 +840,6 @@
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (File_Selector), filter);
Suffix = g_list_first ( ArchiveSuffix );
-
while ( Suffix != NULL )
{
if ( Suffix->data != "" ) /* To avoid double filtering when opening the archive */
@@ -850,14 +849,20 @@
gtk_file_filter_add_pattern (filter, Suffix->data );
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (File_Selector), filter);
}
-
Suffix = g_list_next ( Suffix );
}
- //current_archive_suffix = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
+ if (current_open_directory != NULL)
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (File_Selector) , current_open_directory );
+ /*if (open_file_filter != NULL)
+ gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (File_Selector) , open_file_filter );*/
+
gtk_window_set_modal (GTK_WINDOW (File_Selector),TRUE);
response = gtk_dialog_run (GTK_DIALOG (File_Selector));
- CurrentFolder = gtk_file_chooser_get_current_folder ( GTK_FILE_CHOOSER (File_Selector) );
+
+ current_open_directory = gtk_file_chooser_get_current_folder ( GTK_FILE_CHOOSER (File_Selector) );
+ open_file_filter = gtk_file_chooser_get_filter ( GTK_FILE_CHOOSER (File_Selector) );
+
if (response == GTK_RESPONSE_ACCEPT)
{
path = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER (File_Selector) );
@@ -1524,7 +1529,7 @@
t = g_strdup_printf ( "%d", archive->nr_of_dirs);
gtk_entry_set_text ( GTK_ENTRY (number_of_dirs_data), t );
g_free (t);
- gtk_widget_show ( archive_properties_win );
+ gtk_widget_show_all ( archive_properties_win );
}
void Activate_buttons ()
Modified: xarchiver/trunk/src/interface.c
===================================================================
--- xarchiver/trunk/src/interface.c 2006-10-02 08:04:27 UTC (rev 23257)
+++ xarchiver/trunk/src/interface.c 2006-10-02 11:26:11 UTC (rev 23258)
@@ -529,14 +529,12 @@
gtk_window_set_type_hint (GTK_WINDOW (archive_properties_window), GDK_WINDOW_TYPE_HINT_UTILITY);
table1 = gtk_table_new (9, 2, TRUE);
- gtk_widget_show (table1);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (archive_properties_window)->vbox), table1);
gtk_table_set_row_spacings (GTK_TABLE (table1), 6);
gtk_table_set_col_spacings (GTK_TABLE (table1), 6);
name_label = gtk_label_new ("");
set_label ( name_label , _("Name:"));
- gtk_widget_show (name_label);
gtk_table_attach (GTK_TABLE (table1), name_label, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -544,7 +542,6 @@
path_label = gtk_label_new ("");
set_label ( path_label , _("Path:"));
- gtk_widget_show (path_label);
gtk_table_attach (GTK_TABLE (table1), path_label, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -552,7 +549,6 @@
type_label = gtk_label_new ("");
set_label ( type_label , _("Type:"));
- gtk_widget_show (type_label);
gtk_table_attach (GTK_TABLE (table1), type_label, 0, 1, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -560,7 +556,6 @@
modified_label = gtk_label_new ("");
set_label ( modified_label , _("Modified on:"));
- gtk_widget_show (modified_label);
gtk_table_attach (GTK_TABLE (table1), modified_label, 0, 1, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -568,7 +563,6 @@
size_label = gtk_label_new ("");
set_label ( size_label , _("Archive size:"));
- gtk_widget_show (size_label);
gtk_table_attach (GTK_TABLE (table1), size_label, 0, 1, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -576,7 +570,6 @@
content_label = gtk_label_new ("");
set_label ( content_label , _("Content size:"));
- gtk_widget_show (content_label);
gtk_table_attach (GTK_TABLE (table1), content_label, 0, 1, 5, 6,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -584,7 +577,6 @@
compression_label = gtk_label_new ("");
set_label ( compression_label , _("Compression ratio:"));
- gtk_widget_show (compression_label);
gtk_table_attach (GTK_TABLE (table1), compression_label, 0, 1, 8, 9,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -592,7 +584,6 @@
number_of_files_label = gtk_label_new ("");
set_label ( number_of_files_label , _("Number of files:"));
- gtk_widget_show (number_of_files_label);
gtk_table_attach (GTK_TABLE (table1), number_of_files_label, 0, 1, 6, 7,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -600,7 +591,6 @@
number_of_dirs_label = gtk_label_new ("");
set_label ( number_of_dirs_label , _("Number of dirs:"));
- gtk_widget_show (number_of_dirs_label);
gtk_table_attach (GTK_TABLE (table1), number_of_dirs_label, 0, 1, 7, 8,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | GTK_FILL), 0, 0);
@@ -609,7 +599,6 @@
compression_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (compression_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (compression_data), FALSE);
- gtk_widget_show (compression_data);
gtk_table_attach (GTK_TABLE (table1), compression_data, 1, 2, 8, 9,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -617,7 +606,6 @@
number_of_dirs_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (number_of_dirs_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (number_of_dirs_data), FALSE);
- gtk_widget_show (number_of_dirs_data);
gtk_table_attach (GTK_TABLE (table1), number_of_dirs_data, 1, 2, 7, 8,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -625,7 +613,6 @@
number_of_files_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (number_of_files_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (number_of_files_data), FALSE);
- gtk_widget_show (number_of_files_data);
gtk_table_attach (GTK_TABLE (table1), number_of_files_data, 1, 2, 6, 7,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -633,7 +620,6 @@
content_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (content_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (content_data), FALSE);
- gtk_widget_show (content_data);
gtk_table_attach (GTK_TABLE (table1), content_data, 1, 2, 5, 6,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -641,13 +627,11 @@
size_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (size_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (size_data), FALSE);
- gtk_widget_show (size_data);
gtk_table_attach (GTK_TABLE (table1), size_data, 1, 2, 4, 5,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
modified_data = gtk_entry_new ();
- gtk_widget_show (modified_data);
gtk_table_attach (GTK_TABLE (table1), modified_data, 1, 2, 3, 4,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -657,7 +641,6 @@
type_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (type_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (type_data), FALSE);
- gtk_widget_show (type_data);
gtk_table_attach (GTK_TABLE (table1), type_data, 1, 2, 2, 3,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -665,7 +648,6 @@
path_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (path_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (path_data), FALSE);
- gtk_widget_show (path_data);
gtk_table_attach (GTK_TABLE (table1), path_data, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
@@ -673,7 +655,6 @@
name_data = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (name_data), FALSE);
gtk_entry_set_has_frame (GTK_ENTRY (name_data), FALSE);
- gtk_widget_show (name_data);
gtk_table_attach (GTK_TABLE (table1), name_data, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
(GtkAttachOptions) (0), 0, 0);
Modified: xarchiver/trunk/src/interface.h
===================================================================
--- xarchiver/trunk/src/interface.h 2006-10-02 08:04:27 UTC (rev 23257)
+++ xarchiver/trunk/src/interface.h 2006-10-02 11:26:11 UTC (rev 23258)
@@ -24,6 +24,7 @@
GtkWidget *vbox1;
GtkWidget *vbox_body;
GtkWidget *hbox_sb;
+GtkWidget *hbox_ap;
GtkWidget *menubar1;
GtkWidget *menuitem1;
GtkWidget *menuitem1_menu;
Modified: xarchiver/trunk/src/main.c
===================================================================
--- xarchiver/trunk/src/main.c 2006-10-02 08:04:27 UTC (rev 23257)
+++ xarchiver/trunk/src/main.c 2006-10-02 11:26:11 UTC (rev 23258)
@@ -168,7 +168,7 @@
{
xa_new_archive ( NULL , archive_name );
if (archive == NULL)
- return exit_status;
+ return 0;
if (archive->path != NULL)
{
Modified: xarchiver/trunk/src/new_dialog.c
===================================================================
--- xarchiver/trunk/src/new_dialog.c 2006-10-02 08:04:27 UTC (rev 23257)
+++ xarchiver/trunk/src/new_dialog.c 2006-10-02 11:26:11 UTC (rev 23258)
@@ -25,6 +25,8 @@
#include "main.h"
extern gboolean unrar;
+gchar *current_new_directory = NULL;
+gint new_combo_box = -1;
XArchive *xa_new_archive_dialog (gchar *path)
{
@@ -36,7 +38,6 @@
GtkFileFilter *xa_new_archive_dialog_filter;
GtkTooltips *filter_tooltip;
GList *Suffix,*Name;
- gint current_archive_suffix = 0;
gchar *my_path = NULL;
xa_file_chooser = gtk_file_chooser_dialog_new ( _("Create a new archive"),
@@ -81,7 +82,6 @@
}
Suffix = g_list_next ( Suffix );
}
- //current_archive_suffix = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
hbox = gtk_hbox_new (FALSE, 12);
gtk_box_pack_start (GTK_BOX (hbox),gtk_label_new (_("Archive type:")),FALSE, FALSE, 0);
@@ -99,7 +99,11 @@
Next:
Name = g_list_next ( Name );
}
- gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box) , current_archive_suffix );
+ if (new_combo_box == -1)
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box) , 0 );
+ else
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box) , new_combo_box );
+
gtk_box_pack_start (GTK_BOX (hbox), combo_box, TRUE, TRUE, 0);
check_button = gtk_check_button_new_with_label (_("Add the archive extension to the filename"));
@@ -110,9 +114,14 @@
if (path != NULL)
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (xa_file_chooser),path);
+
gtk_window_set_modal (GTK_WINDOW (xa_file_chooser),TRUE);
+ if (current_new_directory != NULL)
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (xa_file_chooser) , current_new_directory );
+
response = gtk_dialog_run (GTK_DIALOG (xa_file_chooser));
- //CurrentFolder = gtk_file_chooser_get_current_folder ( GTK_FILE_CHOOSER (xa_file_chooser) );
+ current_new_directory = gtk_file_chooser_get_current_folder ( GTK_FILE_CHOOSER (xa_file_chooser) );
+
if (response == GTK_RESPONSE_ACCEPT)
{
my_path = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER (xa_file_chooser) );
@@ -144,7 +153,7 @@
archive = xa_init_archive_structure (archive);
ComboArchiveType = gtk_combo_box_get_active_text (GTK_COMBO_BOX (combo_box));
- current_archive_suffix = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
+ new_combo_box = gtk_combo_box_get_active (GTK_COMBO_BOX (combo_box));
if (strcmp ( ComboArchiveType,".arj") == 0)
archive->type = XARCHIVETYPE_ARJ;
More information about the Xfce4-commits
mailing list