Index: gtkfilechooserdefault.c
===================================================================
--- gtkfilechooserdefault.c	(révision 22413)
+++ gtkfilechooserdefault.c	(copie de travail)
@@ -5201,7 +5201,16 @@
   impl->location_button = g_object_new (GTK_TYPE_TOGGLE_BUTTON,
 					"image", image,
 					NULL);
+  
+  /* Size group that allows the path bar to be the same size between modes */
 
+  impl->browse_path_bar_size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
+  gtk_size_group_set_ignore_hidden (GTK_SIZE_GROUP (impl->browse_path_bar_size_group),
+                                    FALSE);
+  gtk_size_group_add_widget (GTK_SIZE_GROUP (impl->browse_path_bar_size_group),
+                             impl->location_button);
+  g_object_unref (impl->browse_path_bar_size_group);
+
   g_signal_connect (impl->location_button, "toggled",
 		    G_CALLBACK (location_button_toggled_cb), impl);
 
@@ -9388,12 +9403,21 @@
 search_setup_widgets (GtkFileChooserDefault *impl)
 {
   GtkWidget *label;
+  GtkWidget *image;
 
   impl->search_hbox = gtk_hbox_new (FALSE, 12);
+  
+  /* Image */
 
+  image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON);
+  gtk_size_group_add_widget (GTK_SIZE_GROUP (impl->browse_path_bar_size_group),
+                             image);
+  gtk_box_pack_start (GTK_BOX (impl->search_hbox), image, FALSE, FALSE, 5);
+
   /* Label */
 
-  label = gtk_label_new_with_mnemonic (_("_Search:"));
+  label = gtk_label_new (NULL);
+  gtk_label_set_markup_with_mnemonic (GTK_LABEL (label), _("<b>_Search:</b>"));
   gtk_box_pack_start (GTK_BOX (impl->search_hbox), label, FALSE, FALSE, 0);
 
   /* Entry */
@@ -9467,6 +9491,9 @@
     case OPERATION_MODE_RECENT:
       recent_stop_loading (impl);
       recent_clear_model (impl, TRUE);
+
+      gtk_widget_destroy (impl->recent_hbox);
+      impl->recent_hbox = NULL;
       break;
 
     case OPERATION_MODE_BROWSE:
@@ -9567,6 +9594,9 @@
   recent_stop_loading (impl);
   recent_clear_model (impl, TRUE);
 
+  gtk_widget_destroy (impl->recent_hbox);
+  impl->recent_hbox = NULL;
+
   gtk_widget_show (impl->browse_path_bar);
   gtk_widget_show (impl->browse_new_folder_button);
 
@@ -10098,9 +10128,29 @@
 static void
 recent_hide_entry (GtkFileChooserDefault *impl)
 {
+  GtkWidget *label;
+  GtkWidget *image;
+
+  impl->recent_hbox = gtk_hbox_new (FALSE, 12);
+  
+  /* Image */
+  image = gtk_image_new_from_icon_name ("document-open-recent", GTK_ICON_SIZE_BUTTON);
+  gtk_size_group_add_widget (GTK_SIZE_GROUP (impl->browse_path_bar_size_group), image);
+  gtk_box_pack_start (GTK_BOX (impl->recent_hbox), image, FALSE, FALSE, 5);
+
+  /* Label */
+  label = gtk_label_new (NULL);
+  gtk_label_set_markup_with_mnemonic (GTK_LABEL (label), _("<b>Recently Used</b>"));
+  gtk_box_pack_start (GTK_BOX (impl->recent_hbox), label, FALSE, FALSE, 0);
+
   gtk_widget_hide (impl->browse_path_bar);
   gtk_widget_hide (impl->browse_new_folder_button);
   
+  /* Box for recent widgets */
+  gtk_box_pack_start (GTK_BOX (impl->browse_path_bar_hbox), impl->recent_hbox, TRUE, TRUE, 0);
+  gtk_widget_show_all (impl->recent_hbox);
+
+  /* Hide the location widgets temporarily */
   if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
       impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
     {
