--- gedit-2.13.1/data/gedit.schemas.in.filesel 2006-01-08 21:06:29.000000000 -0500 +++ gedit-2.13.1/data/gedit.schemas.in 2006-01-08 21:19:10.000000000 -0500 @@ -604,5 +604,29 @@ is writable by default. + + + /schemas/apps/gedit-2/preferences/ui/open_save/selector_width + /apps/gedit-2/preferences/ui/open_save/selector_width + gedit + int + 400 + + Open/Save Dialog Width + Persistent Open/Save dialog width. + + + + + /schemas/apps/gedit-2/preferences/ui/open_save/selector_height + /apps/gedit-2/preferences/ui/open_save/selector_height + gedit + int + 400 + + Open/Save Dialog Height + Persistent Open/Save dialog height. + + --- gedit-2.13.1/gedit/gedit-prefs-manager.h.filesel 2006-01-08 21:10:21.000000000 -0500 +++ gedit-2.13.1/gedit/gedit-prefs-manager.h 2006-01-08 21:22:10.000000000 -0500 @@ -101,6 +101,10 @@ #define GPM_RECENTS_DIR GPM_PREFS_DIR "/ui/recents" #define GPM_MAX_RECENTS GPM_RECENTS_DIR "/max_recents" +#define GPM_OPENSAVE_DIR GPM_PREFS_DIR "/ui/open_save" +#define GPM_OPENSAVE_WIDTH GPM_OPENSAVE_DIR "/selector_width" +#define GPM_OPENSAVE_HEIGHT GPM_OPENSAVE_DIR "/selector_height" + /* Print */ #define GPM_PRINT_PAGE_DIR GPM_PREFS_DIR "/print/page" #define GPM_PRINT_SYNTAX GPM_PRINT_PAGE_DIR "/print_syntax_highlighting" @@ -184,6 +188,9 @@ #define GPM_DEFAULT_MAX_RECENTS 5 +#define GPM_DEFAULT_OPENSAVE_WIDTH 400 +#define GPM_DEFAULT_OPENSAVE_HEIGHT 400 + #define GPM_DEFAULT_WINDOW_STATE 0 #define GPM_DEFAULT_WINDOW_WIDTH 650 #define GPM_DEFAULT_WINDOW_HEIGHT 500 @@ -377,6 +384,15 @@ */ gint gedit_prefs_manager_get_max_recents (void); +/* Persistent size of open/save dialogs */ +gint gedit_prefs_manager_get_opensave_dialog_width (void); +void gedit_prefs_manager_set_opensave_dialog_width (gint width); +gboolean gedit_prefs_manager_opensave_dialog_width_can_set (void); + +gint gedit_prefs_manager_get_opensave_dialog_height (void); +void gedit_prefs_manager_set_opensave_dialog_height (gint height); +gboolean gedit_prefs_manager_opensave_dialog_height_can_set (void); + /* Encodings */ GSList *gedit_prefs_manager_get_auto_detected_encodings (void); --- gedit-2.13.1/gedit/gedit-commands-file.c.filesel 2006-01-08 21:22:53.000000000 -0500 +++ gedit-2.13.1/gedit/gedit-commands-file.c 2006-01-08 21:29:17.000000000 -0500 @@ -50,6 +50,7 @@ #include "dialogs/gedit-close-confirmation-dialog.h" #include "dialogs/gedit-open-location-dialog.h" #include "gedit-file-chooser-dialog.h" +#include "gedit-prefs-manager.h" /* Defined constants */ @@ -239,9 +240,15 @@ { GSList *uris; const GeditEncoding *encoding; + gint selector_width; + gint selector_height; gedit_debug (DEBUG_COMMANDS); + gtk_window_get_size (GTK_WINDOW (dialog), &selector_width, &selector_height); + gedit_prefs_manager_set_opensave_dialog_width (selector_width); + gedit_prefs_manager_set_opensave_dialog_height (selector_height); + if (response_id != GTK_RESPONSE_OK) { gtk_widget_destroy (GTK_WIDGET (dialog)); @@ -272,6 +279,8 @@ gpointer data; GeditDocument *doc; gchar *default_path = NULL; + gint selector_width; + gint selector_height; gedit_debug (DEBUG_COMMANDS); @@ -336,6 +345,10 @@ g_free (default_path); + selector_width = gedit_prefs_manager_get_opensave_dialog_width (); + selector_height = gedit_prefs_manager_get_opensave_dialog_height (); + gtk_window_resize (GTK_WINDOW (open_dialog), selector_width, selector_height); + g_signal_connect (open_dialog, "response", G_CALLBACK (open_dialog_response_cb), @@ -585,6 +598,8 @@ GeditTab *tab; gpointer data; GSList *tabs_to_save_as; + gint selector_width; + gint selector_height; gedit_debug (DEBUG_COMMANDS); @@ -603,6 +618,10 @@ encoding = gedit_file_chooser_dialog_get_encoding (dialog); + gtk_window_get_size (GTK_WINDOW (dialog), &selector_width, &selector_height); + gedit_prefs_manager_set_opensave_dialog_width (selector_width); + gedit_prefs_manager_set_opensave_dialog_height (selector_height); + gtk_widget_destroy (GTK_WIDGET (dialog)); if (tab != NULL) @@ -701,6 +720,8 @@ gchar *uri; gboolean uri_set = FALSE; const GeditEncoding *encoding; + gint selector_width; + gint selector_height; g_return_if_fail (GEDIT_IS_TAB (tab)); g_return_if_fail (GEDIT_IS_WINDOW (window)); @@ -778,6 +799,10 @@ G_CALLBACK (save_dialog_response_cb), window); + selector_width = gedit_prefs_manager_get_opensave_dialog_width(); + selector_height = gedit_prefs_manager_get_opensave_dialog_height(); + gtk_window_resize (GTK_WINDOW (save_dialog), selector_width, selector_height); + gtk_widget_show (save_dialog); } --- gedit-2.13.1/gedit/gedit-prefs-manager.c.filesel 2006-01-08 21:10:08.000000000 -0500 +++ gedit-2.13.1/gedit/gedit-prefs-manager.c 2006-01-08 21:20:17.000000000 -0500 @@ -721,6 +721,16 @@ } +/* Open/Save dialog width */ +DEFINE_INT_PREF (opensave_dialog_width, + GPM_OPENSAVE_WIDTH, + GPM_DEFAULT_OPENSAVE_WIDTH) + +/* Open/Save dialog height */ +DEFINE_INT_PREF (opensave_dialog_height, + GPM_OPENSAVE_HEIGHT, + GPM_DEFAULT_OPENSAVE_HEIGHT) + /* Statusbar visiblity */ DEFINE_BOOL_PREF (statusbar_visible, GPM_STATUSBAR_VISIBLE,