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

Giuseppe Torelli colossus at xfce.org
Fri Aug 3 13:53:35 CEST 2007


Author: colossus
Date: 2007-08-03 11:53:35 +0000 (Fri, 03 Aug 2007)
New Revision: 25955

Modified:
   xarchiver/trunk/src/main.c
   xarchiver/trunk/src/main.h
   xarchiver/trunk/src/pref_dialog.c
   xarchiver/trunk/src/pref_dialog.h
   xarchiver/trunk/src/window.c
Log:
Fixed restoring and storing of prefererences.


Modified: xarchiver/trunk/src/main.c
===================================================================
--- xarchiver/trunk/src/main.c	2007-08-03 10:49:45 UTC (rev 25954)
+++ xarchiver/trunk/src/main.c	2007-08-03 11:53:35 UTC (rev 25955)
@@ -226,7 +226,7 @@
 		prefs_window = xa_create_prefs_dialog();
 		xa_prefs_load_options (prefs_window);
 
-		if (prefs_window->check_save_geometry && prefs_window->geometry[0] != -1)
+		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(prefs_window->check_save_geometry)) && prefs_window->geometry[0] != -1)
 		{
 			gtk_window_move (GTK_WINDOW(MainWindow), prefs_window->geometry[0], prefs_window->geometry[1]);
 			gtk_window_set_default_size (GTK_WINDOW(MainWindow), prefs_window->geometry[2], prefs_window->geometry[3]);
@@ -254,7 +254,6 @@
 		}
 		#endif
 		gtk_main ();
-		xa_prefs_save_options (prefs_window,"/home/gt/.config/xarchiver/xarchiverrc");
 		g_list_free ( ArchiveSuffix);
 		g_list_free ( ArchiveType);
 		return 0;

Modified: xarchiver/trunk/src/main.h
===================================================================
--- xarchiver/trunk/src/main.h	2007-08-03 10:49:45 UTC (rev 25954)
+++ xarchiver/trunk/src/main.h	2007-08-03 11:53:35 UTC (rev 25955)
@@ -32,6 +32,7 @@
 const gchar *locale;
 
 void GetAvailableCompressors();
+gchar *config_file;
 gchar *get_argv_filename(const gchar *filename);
 gboolean SpawnSyncCommand ( gchar *command );
 XArchive *xa_init_structure_from_cmd_line (char *filename);

Modified: xarchiver/trunk/src/pref_dialog.c
===================================================================
--- xarchiver/trunk/src/pref_dialog.c	2007-08-03 10:49:45 UTC (rev 25954)
+++ xarchiver/trunk/src/pref_dialog.c	2007-08-03 11:53:35 UTC (rev 25955)
@@ -288,7 +288,7 @@
 	FILE *fp;
 	gint bytes_written, len;
 	GKeyFile *xa_key_file = g_key_file_new();
-
+	
 	g_key_file_set_integer (xa_key_file,PACKAGE,"preferred_format",gtk_combo_box_get_active (GTK_COMBO_BOX(prefs_data->combo_prefered_format)));
 	g_key_file_set_boolean (xa_key_file,PACKAGE,"save_add_dialog_settings",gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs_data->check_save_add_dialog)));
 	g_key_file_set_boolean (xa_key_file,PACKAGE,"save_ext_dialog_settings",gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (prefs_data->check_save_extract_dialog)));
@@ -330,7 +330,6 @@
 	guint coords_len;
 	gchar *config_dir = NULL;
 	gchar *xarchiver_config_dir = NULL;
-	gchar *config_file = NULL;
 	GKeyFile *xa_key_file = g_key_file_new();
 	GError *error = NULL;
 
@@ -364,10 +363,10 @@
 		gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_archive_view),g_key_file_get_integer(xa_key_file,PACKAGE,"archive_view",NULL));
 		gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_icon_size),g_key_file_get_integer(xa_key_file,PACKAGE,"icon_size",NULL));
 
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_show_comment),g_key_file_get_integer(xa_key_file,PACKAGE,"show_archive_comment",NULL));
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_show_iso_info),g_key_file_get_integer(xa_key_file,PACKAGE,"show_iso_info",NULL));
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_sort_filename_column),g_key_file_get_integer(xa_key_file,PACKAGE,"sort_filename_content",NULL));
-		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->show_location_bar),g_key_file_get_integer(xa_key_file,PACKAGE,"show_location_bar",NULL));
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_show_comment),g_key_file_get_boolean(xa_key_file,PACKAGE,"show_archive_comment",NULL));
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_show_iso_info),g_key_file_get_boolean(xa_key_file,PACKAGE,"show_iso_info",NULL));
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->check_sort_filename_column),g_key_file_get_boolean(xa_key_file,PACKAGE,"sort_filename_content",NULL));
+		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(prefs_data->show_location_bar),g_key_file_get_boolean(xa_key_file,PACKAGE,"show_location_bar",NULL));
 		
 		gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_prefered_web_browser),g_key_file_get_integer(xa_key_file,PACKAGE,"preferred_web_browser",NULL));
 		gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_prefered_editor),g_key_file_get_integer(xa_key_file,PACKAGE,"preferred_editor",NULL));
@@ -389,6 +388,6 @@
 		}
 	}
 	g_key_file_free (xa_key_file);
-	g_free (config_file);
+	/* config_file is freed in window.c:519 */
 }
 

Modified: xarchiver/trunk/src/pref_dialog.h
===================================================================
--- xarchiver/trunk/src/pref_dialog.h	2007-08-03 10:49:45 UTC (rev 25954)
+++ xarchiver/trunk/src/pref_dialog.h	2007-08-03 11:53:35 UTC (rev 25955)
@@ -29,7 +29,7 @@
 	GtkWidget *combo_prefered_web_browser, *combo_prefered_editor, *combo_prefered_temp_dir, *check_save_geometry,*prefs_notebook;
 	GtkListStore *prefs_liststore;
 	GtkTooltips *tooltips;
-	int geometry[3];
+	gint geometry[4];
 } Prefs_dialog_data;
 
 Prefs_dialog_data *xa_create_prefs_dialog ();

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c	2007-08-03 10:49:45 UTC (rev 25954)
+++ xarchiver/trunk/src/window.c	2007-08-03 11:53:35 UTC (rev 25955)
@@ -34,8 +34,9 @@
 extern gboolean cli;
 extern gboolean stop_flag;
 extern gboolean unrar;
-
 extern Prefs_dialog_data *prefs_window;
+extern gchar *config_file;
+
 gchar *current_open_directory = NULL;
 GtkFileFilter *open_file_filter = NULL;
 GList *Suffix , *Name;
@@ -514,10 +515,8 @@
 	if (current_open_directory != NULL)
 		g_free (current_open_directory);
 
-	/*
- 	clean the prefs structure because it's hidden
-	clean the prefs_data structure
-	*/
+	xa_prefs_save_options (prefs_window,config_file);
+	g_free (config_file);
 
 #ifdef HAVE_SOCKET
 	socket_finalize();
@@ -667,8 +666,8 @@
 	if (prefs_window == NULL)
 		prefs_window = xa_create_prefs_dialog();
 
-	gtk_widget_show_all(prefs_window->dialog1);
-	gtk_dialog_run ( GTK_DIALOG(prefs_window->dialog1) );
+	gtk_widget_show_all (prefs_window->dialog1);
+	gtk_dialog_run (GTK_DIALOG(prefs_window->dialog1));
 	gtk_widget_hide (prefs_window->dialog1);
 }
 



More information about the Xfce4-commits mailing list