commit cce3a9a58deadf5b89a894d76857a7d9ffd7d668
Author: Federico Mena Quintero <federico@novell.com>
Date:   Mon May 19 12:24:54 2008 -0500

    bgo322298 - Make the file chooser dialog always resizable
    2008-05-19  Federico Mena Quintero  <federico@novell.com>
    
    	http://bugzilla.gnome.org/show_bug.cgi?id=322298 - Save dialog
    	can't be resized until you expand the "Browse for other folders"
    	section.
    
    	* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
    	Removed the "get_resizable" method.
    	(_gtk_file_chooser_embed_get_resizable): Removed.
    
    	* gtk/gtkfilechooserembed.c: Removed the _get_resizable() machinery.
    
    	* gtk/gtkfilechooserdefault.c: Likewise.
    
    	* gtk/gtkfilechooserdialog.c
    	(file_chooser_widget_default_size_changed): Act as if the dialog
    	were always resizable.
    
    Signed-off-by: Federico Mena Quintero <federico@novell.com>

diff --git a/ChangeLog b/ChangeLog
index 24f89cf..8b08bb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2008-05-19  Federico Mena Quintero  <federico@novell.com>
+
+	http://bugzilla.gnome.org/show_bug.cgi?id=322298 - Save dialog
+	can't be resized until you expand the "Browse for other folders"
+	section.
+
+	* gtk/gtkfilechooserembed.h (struct _GtkFileChooserEmbedIface):
+	Removed the "get_resizable" method.
+	(_gtk_file_chooser_embed_get_resizable): Removed.
+
+	* gtk/gtkfilechooserembed.c: Removed the _get_resizable() machinery.
+
+	* gtk/gtkfilechooserdefault.c: Likewise.
+
+	* gtk/gtkfilechooserdialog.c
+	(file_chooser_widget_default_size_changed): Act as if the dialog
+	were always resizable.
+
 2008-05-19  Michael Natterer  <mitch@imendio.com>
 
 	* gtk/gtkcellrenderer.c
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 73e7142..bef9783 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -366,7 +366,6 @@ static GSList *       gtk_file_chooser_default_list_shortcut_folders  (GtkFileCh
 static void           gtk_file_chooser_default_get_default_size       (GtkFileChooserEmbed *chooser_embed,
 								       gint                *default_width,
 								       gint                *default_height);
-static gboolean       gtk_file_chooser_default_get_resizable          (GtkFileChooserEmbed *chooser_embed);
 static gboolean       gtk_file_chooser_default_should_respond         (GtkFileChooserEmbed *chooser_embed);
 static void           gtk_file_chooser_default_initial_focus          (GtkFileChooserEmbed *chooser_embed);
 
@@ -811,7 +810,6 @@ static void
 gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
 {
   iface->get_default_size = gtk_file_chooser_default_get_default_size;
-  iface->get_resizable = gtk_file_chooser_default_get_resizable;
   iface->should_respond = gtk_file_chooser_default_should_respond;
   iface->initial_focus = gtk_file_chooser_default_initial_focus;
 }
@@ -6032,14 +6030,6 @@ gtk_file_chooser_default_size_allocate (GtkWidget     *widget,
 
   GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->size_allocate (widget, allocation);
 
-  if (!gtk_file_chooser_default_get_resizable (GTK_FILE_CHOOSER_EMBED (impl)))
-    {
-      /* The dialog is not resizable, we shouldn't
-       * trust in the size it has in this stage
-       */
-      return;
-    }
-
   impl->default_width = allocation->width;
   impl->default_height = allocation->height;
 
@@ -7946,18 +7936,6 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
     }
 }
 
-static gboolean
-gtk_file_chooser_default_get_resizable (GtkFileChooserEmbed *chooser_embed)
-{
-  GtkFileChooserDefault *impl;
-
-  impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
-
-  return (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
-	  impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
-	  gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)));
-}
-
 struct switch_folder_closure {
   GtkFileChooserDefault *impl;
   const GtkFilePath *path;
diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c
index 0a70233..7037cf5 100644
--- a/gtk/gtkfilechooserdialog.c
+++ b/gtk/gtkfilechooserdialog.c
@@ -185,7 +185,6 @@ file_chooser_widget_default_size_changed (GtkWidget            *widget,
   gint width, height;
   gint default_width, default_height;
   GtkRequisition req, widget_req;
-  gboolean resizable;
 
   priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
 
@@ -208,7 +207,6 @@ file_chooser_widget_default_size_changed (GtkWidget            *widget,
       height = GTK_WIDGET (dialog)->allocation.height - widget->allocation.height;
     }
 
-  resizable = _gtk_file_chooser_embed_get_resizable (GTK_FILE_CHOOSER_EMBED (priv->widget));
   _gtk_file_chooser_embed_get_default_size (GTK_FILE_CHOOSER_EMBED (priv->widget),
 					    &default_width, &default_height);
 
@@ -219,16 +217,7 @@ file_chooser_widget_default_size_changed (GtkWidget            *widget,
   if (GTK_WIDGET_REALIZED (dialog))
     clamp_to_screen (GTK_WIDGET (dialog), &width, &height);
 
-  if (resizable)
-    {
-      gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
-      gtk_window_resize (GTK_WINDOW (dialog), width, height);
-    }
-  else
-    {
-      gtk_widget_set_size_request (GTK_WIDGET (dialog), width, -1);
-      gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
-    }
+  gtk_window_resize (GTK_WINDOW (dialog), width, height);
 }
 
 static void
diff --git a/gtk/gtkfilechooserembed.c b/gtk/gtkfilechooserembed.c
index 5816dca..f85b1a2 100644
--- a/gtk/gtkfilechooserembed.c
+++ b/gtk/gtkfilechooserembed.c
@@ -28,7 +28,6 @@ static void gtk_file_chooser_embed_class_init (gpointer g_iface);
 static void delegate_get_default_size         (GtkFileChooserEmbed *chooser_embed,
 					       gint                *default_width,
 					       gint                *default_height);
-static gboolean delegate_get_resizable        (GtkFileChooserEmbed *chooser_embed);
 static gboolean delegate_should_respond       (GtkFileChooserEmbed *chooser_embed);
 static void delegate_initial_focus            (GtkFileChooserEmbed *chooser_embed);
 static void delegate_default_size_changed     (GtkFileChooserEmbed *chooser_embed,
@@ -55,7 +54,6 @@ void
 _gtk_file_chooser_embed_delegate_iface_init (GtkFileChooserEmbedIface *iface)
 {
   iface->get_default_size = delegate_get_default_size;
-  iface->get_resizable = delegate_get_resizable;
   iface->should_respond = delegate_should_respond;
   iface->initial_focus = delegate_initial_focus;
 }
@@ -96,12 +94,6 @@ delegate_get_default_size (GtkFileChooserEmbed *chooser_embed,
 }
 
 static gboolean
-delegate_get_resizable (GtkFileChooserEmbed *chooser_embed)
-{
-  return _gtk_file_chooser_embed_get_resizable (get_delegate (chooser_embed));
-}
-
-static gboolean
 delegate_should_respond (GtkFileChooserEmbed *chooser_embed)
 {
   return _gtk_file_chooser_embed_should_respond (get_delegate (chooser_embed));
@@ -203,11 +195,3 @@ _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed)
 
   GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->initial_focus (chooser_embed);
 }
-
-gboolean
-_gtk_file_chooser_embed_get_resizable (GtkFileChooserEmbed *chooser_embed)
-{
-  g_return_val_if_fail (GTK_IS_FILE_CHOOSER_EMBED (chooser_embed), FALSE);
-
-  return GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->get_resizable (chooser_embed);
-}
diff --git a/gtk/gtkfilechooserembed.h b/gtk/gtkfilechooserembed.h
index 083bd45..6588898 100644
--- a/gtk/gtkfilechooserembed.h
+++ b/gtk/gtkfilechooserembed.h
@@ -43,7 +43,6 @@ struct _GtkFileChooserEmbedIface
   void (*get_default_size)        (GtkFileChooserEmbed *chooser_embed,
 				   gint                *default_width,
 				   gint                *default_height);
-  gboolean (*get_resizable)       (GtkFileChooserEmbed *chooser_embed);
 
   gboolean (*should_respond)      (GtkFileChooserEmbed *chooser_embed);
 
@@ -59,7 +58,6 @@ GType _gtk_file_chooser_embed_get_type (void) G_GNUC_CONST;
 void  _gtk_file_chooser_embed_get_default_size    (GtkFileChooserEmbed *chooser_embed,
 						   gint                *default_width,
 						   gint                *default_height);
-gboolean _gtk_file_chooser_embed_get_resizable  (GtkFileChooserEmbed *chooser_embed);
 gboolean _gtk_file_chooser_embed_should_respond (GtkFileChooserEmbed *chooser_embed);
 
 void _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed);
