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);
 }
 

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to