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