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