diff -cr old/gtkfilechooserdefault.c new/gtkfilechooserdefault.c
*** old/gtkfilechooserdefault.c	2009-06-28 13:13:57.000000000 +0200
--- new/gtkfilechooserdefault.c	2009-06-29 13:11:07.000000000 +0200
***************
*** 2973,2979 ****
    if (impl->browse_files_popup_menu_add_shortcut_item)
      gtk_widget_set_sensitive (impl->browse_files_popup_menu_add_shortcut_item,
                                (num_selected == 0) ? FALSE : active);
! 
    if (active)
      {
        if (num_selected == 0)
--- 2973,2983 ----
    if (impl->browse_files_popup_menu_add_shortcut_item)
      gtk_widget_set_sensitive (impl->browse_files_popup_menu_add_shortcut_item,
                                (num_selected == 0) ? FALSE : active);
!   
!   if (impl->browe_files_popup_menu_go_to_filelocation_item)
!     gtk_widget_set_sensitive (impl->browe_files_popup_menu_go_to_filelocation_item,
!                               (impl->operation_mode == OPERATION_MODE_SEARCH || impl->operation_mode == OPERATION_MODE_RECENT));
!   
    if (active)
      {
        if (num_selected == 0)
***************
*** 4093,4098 ****
--- 4097,4103 ----
  
    impl->browse_files_popup_menu = NULL;
    impl->browse_files_popup_menu_add_shortcut_item = NULL;
+   impl->browe_files_popup_menu_go_to_filelocation_item = NULL;
    impl->browse_files_popup_menu_hidden_files_item = NULL;
  }
  
***************
*** 4104,4109 ****
--- 4109,4131 ----
    bookmarks_add_selected_folder (impl);
  }
  
+ /* Callback used when the "Go to Containing Directory" menu item is activated */
+ static void
+ go_to_containing_directory_cb (GtkMenuItem           *item,
+ 		               GtkFileChooserDefault *impl)
+ {  
+   GFile *file = NULL;
+   GFile *folder = NULL;
+   
+   file = gtk_file_chooser_get_file (impl);
+   folder = g_file_get_parent (file);
+   change_folder_and_display_error (impl, folder, FALSE);
+   
+   g_object_unref (folder);
+ }
+ 
  /* Callback used when the "Show Hidden Files" menu item is toggled */
  static void
  show_hidden_toggled_cb (GtkCheckMenuItem      *item,
***************
*** 4317,4322 ****
--- 4339,4354 ----
  		    G_CALLBACK (add_to_shortcuts_cb), impl);
    gtk_widget_show (item);
    gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item);
+   
+   item = gtk_image_menu_item_new_with_mnemonic (_("Go to File's _Location"));
+   impl->browe_files_popup_menu_go_to_filelocation_item = item;
+   gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item),
+ 				 gtk_image_new_from_stock (GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_MENU));
+   g_signal_connect (item, "activate",
+ 		    G_CALLBACK (go_to_containing_directory_cb), impl);
+   gtk_widget_show (item);
+   gtk_menu_shell_append (GTK_MENU_SHELL (impl->browse_files_popup_menu), item);
  
    item = gtk_separator_menu_item_new ();
    gtk_widget_show (item);
Seulement dans new: gtkfilechooserdefault.c~
diff -cr old/gtkfilechooserprivate.h new/gtkfilechooserprivate.h
*** old/gtkfilechooserprivate.h	2009-06-29 13:11:22.000000000 +0200
--- new/gtkfilechooserprivate.h	2009-06-29 13:00:52.000000000 +0200
***************
*** 177,182 ****
--- 177,183 ----
    GtkWidget *browse_files_tree_view;
    GtkWidget *browse_files_popup_menu;
    GtkWidget *browse_files_popup_menu_add_shortcut_item;
+   GtkWidget *browe_files_popup_menu_go_to_filelocation_item;
    GtkWidget *browse_files_popup_menu_hidden_files_item;
    GtkWidget *browse_files_popup_menu_size_column_item;
    GtkWidget *browse_new_folder_button;
Seulement dans new: gtkfilechooserprivate.h~
