diff -Nur nautilus-2.10.0/libnautilus-private/nautilus-global-preferences.c nautilus-2.10.0.new/libnautilus-private/nautilus-global-preferences.c --- nautilus-2.10.0/libnautilus-private/nautilus-global-preferences.c 2004-11-22 16:24:36.000000000 +0100 +++ nautilus-2.10.0.new/libnautilus-private/nautilus-global-preferences.c 2005-04-03 18:07:11.564399224 +0200 @@ -511,6 +511,12 @@ default_trash_link_name, g_free, }, + + { NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS, + PREFERENCE_BOOLEAN, + GINT_TO_POINTER (TRUE) + }, + { NULL } }; diff -Nur nautilus-2.10.0/libnautilus-private/nautilus-global-preferences.h nautilus-2.10.0.new/libnautilus-private/nautilus-global-preferences.h --- nautilus-2.10.0/libnautilus-private/nautilus-global-preferences.h 2004-11-22 16:24:36.000000000 +0100 +++ nautilus-2.10.0.new/libnautilus-private/nautilus-global-preferences.h 2005-04-03 18:07:11.565399072 +0200 @@ -74,6 +74,9 @@ /* Single/Double click preference */ #define NAUTILUS_PREFERENCES_CLICK_POLICY "preferences/click_policy" +/* Ubuntu spatial change */ +#define NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS "preferences/close_previous_windows" + /* Activating executable text files */ #define NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION "preferences/executable_text_activation" diff -Nur nautilus-2.10.0/src/file-manager/fm-directory-view.c nautilus-2.10.0.new/src/file-manager/fm-directory-view.c --- nautilus-2.10.0/src/file-manager/fm-directory-view.c 2005-04-03 18:06:41.911907000 +0200 +++ nautilus-2.10.0.new/src/file-manager/fm-directory-view.c 2005-04-03 18:07:11.580396792 +0200 @@ -6891,6 +6891,14 @@ parameters->view = view; parameters->file = file; parameters->mode = mode; + + if ( eel_preferences_get_boolean (NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS) && nautilus_file_is_directory (file)) { + if (flags == NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND) + flags = 0; + else + flags = NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND; + } + parameters->flags = flags; parameters->callback = activate_activation_uri_ready_callback; parameters->mounted = FALSE; diff -Nur nautilus-2.10.0/src/nautilus-file-management-properties.c nautilus-2.10.0.new/src/nautilus-file-management-properties.c --- nautilus-2.10.0/src/nautilus-file-management-properties.c 2004-07-16 14:04:29.000000000 +0200 +++ nautilus-2.10.0.new/src/nautilus-file-management-properties.c 2005-04-03 18:07:11.582396488 +0200 @@ -71,6 +71,7 @@ #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TRASH_DELETE_WIDGET "trash_delete_checkbutton" #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_OPEN_NEW_WINDOW_WIDGET "new_window_checkbutton" #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET "hidden_files_checkbutton" +#define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_CLOSE_PREVIOUS_WINDOWS_WIDGET "close_previous_windows_checkbutton" #define NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET "treeview_folders_checkbutton" /* int enums */ @@ -598,6 +599,9 @@ eel_preferences_glade_connect_bool_slave (xml_dialog, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_SHOW_HIDDEN_WIDGET, NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES); + eel_preferences_glade_connect_bool_slave (xml_dialog, + NAUTILUS_FILE_MANAGEMENT_PROPERTIES_CLOSE_PREVIOUS_WINDOWS_WIDGET, + NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS); eel_preferences_glade_connect_bool (xml_dialog, NAUTILUS_FILE_MANAGEMENT_PROPERTIES_TREE_VIEW_FOLDERS_WIDGET, NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES); diff -Nur nautilus-2.10.0/src/nautilus-file-management-properties.glade nautilus-2.10.0.new/src/nautilus-file-management-properties.glade --- nautilus-2.10.0/src/nautilus-file-management-properties.glade 2005-03-01 12:32:57.000000000 +0100 +++ nautilus-2.10.0.new/src/nautilus-file-management-properties.glade 2005-04-03 18:08:48.774621024 +0200 @@ -1029,6 +1029,25 @@ False + + + + True + True + C_lose previous folder when opening a subfolder + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + 0 diff -Nur nautilus-2.10.0/src/nautilus-file-management-properties.gladep nautilus-2.10.0.new/src/nautilus-file-management-properties.gladep --- nautilus-2.10.0/src/nautilus-file-management-properties.gladep 1970-01-01 01:00:00.000000000 +0100 +++ nautilus-2.10.0.new/src/nautilus-file-management-properties.gladep 2005-04-03 18:07:11.586395880 +0200 @@ -0,0 +1,8 @@ + + + + + + + FALSE + diff -Nur nautilus-2.10.0/src/nautilus-spatial-window.c nautilus-2.10.0.new/src/nautilus-spatial-window.c --- nautilus-2.10.0/src/nautilus-spatial-window.c 2005-02-22 11:26:18.000000000 +0100 +++ nautilus-2.10.0.new/src/nautilus-spatial-window.c 2005-04-03 18:07:11.587395728 +0200 @@ -431,7 +431,10 @@ { close_behind = TRUE; } - nautilus_window_open_location_with_selection (NAUTILUS_WINDOW (window), location, selection, close_behind); + if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS)) + nautilus_window_open_location_with_selection (NAUTILUS_WINDOW (window), location, selection, !close_behind); + else + nautilus_window_open_location_with_selection (NAUTILUS_WINDOW (window), location, selection, close_behind); } if (event != NULL) { diff -Nur nautilus-2.10.0/src/nautilus-window.c nautilus-2.10.0.new/src/nautilus-window.c --- nautilus-2.10.0/src/nautilus-window.c 2005-02-22 09:43:44.000000000 +0100 +++ nautilus-2.10.0.new/src/nautilus-window.c 2005-04-03 18:07:11.589395424 +0200 @@ -224,7 +224,10 @@ void nautilus_window_go_to (NautilusWindow *window, const char *uri) { - nautilus_window_open_location (window, uri, FALSE); + if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_CLOSE_PREVIOUS_WINDOWS)) + nautilus_window_open_location (window, uri, TRUE); + else + nautilus_window_open_location (window, uri, FALSE); }