diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | libnautilus-private/nautilus-window-info.h | 5 | ||||
-rw-r--r-- | src/file-manager/fm-icon-view.c | 3 | ||||
-rw-r--r-- | src/file-manager/fm-list-view.c | 3 | ||||
-rw-r--r-- | src/nautilus-window-manage-views.c | 12 |
5 files changed, 30 insertions, 4 deletions
@@ -1,5 +1,16 @@ 2005-10-19 Christian Neumair <chris@gnome-de.org> + * libnautilus-private/nautilus-window-info.h: + * src/nautilus-window-manage-views.c: + (nautilus_window_open_location_full): + * src/file-manager/fm-icon-view.c: + (icon_container_activate_alternate_callback): + * src/file-manager/fm-list-view.c: + (activate_selected_items_alternate): + Open a new navigational window on alternative item activation. + +2005-10-19 Christian Neumair <chris@gnome-de.org> + * src/nautilus-spatial-window.c: (got_file_info_for_location_menu_callback): Use custom image for location button if available. Partially fixes diff --git a/libnautilus-private/nautilus-window-info.h b/libnautilus-private/nautilus-window-info.h index 5606a0210..0519e1c8d 100644 --- a/libnautilus-private/nautilus-window-info.h +++ b/libnautilus-private/nautilus-window-info.h @@ -47,7 +47,10 @@ typedef enum { } NautilusWindowOpenMode; typedef enum { - NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND = 1<<0 + /* used in spatial mode */ + NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND = 1<<0, + /* used in navigation mode */ + NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW = 1<<1 } NautilusWindowOpenFlags; typedef enum { diff --git a/src/file-manager/fm-icon-view.c b/src/file-manager/fm-icon-view.c index 0f9fb6d67..66cf4fd7c 100644 --- a/src/file-manager/fm-icon-view.c +++ b/src/file-manager/fm-icon-view.c @@ -1667,7 +1667,8 @@ icon_container_activate_alternate_callback (NautilusIconContainer *container, fm_directory_view_activate_files (FM_DIRECTORY_VIEW (icon_view), file_list, NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE, - NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND); + NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND | + NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW); } static void diff --git a/src/file-manager/fm-list-view.c b/src/file-manager/fm-list-view.c index a3b71d372..61d7cd911 100644 --- a/src/file-manager/fm-list-view.c +++ b/src/file-manager/fm-list-view.c @@ -224,7 +224,8 @@ activate_selected_items_alternate (FMListView *view, fm_directory_view_activate_files (FM_DIRECTORY_VIEW (view), file_list, NAUTILUS_WINDOW_OPEN_ACCORDING_TO_MODE, - NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND); + NAUTILUS_WINDOW_OPEN_FLAG_CLOSE_BEHIND | + NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW); nautilus_file_list_free (file_list); } diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c index 1219e12c6..148acfe50 100644 --- a/src/nautilus-window-manage-views.c +++ b/src/nautilus-window-manage-views.c @@ -458,6 +458,11 @@ nautilus_window_open_location_full (NautilusWindow *window, } else { NAUTILUS_SPATIAL_WINDOW (window)->affect_spatial_window_on_next_location_change = FALSE; } + } else if ((flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW) != 0) { + target_window = nautilus_application_create_navigation_window + (window->application, + NULL, + gtk_window_get_screen (GTK_WINDOW (window))); } } else if (NAUTILUS_IS_SPATIAL_WINDOW (window)) { if (!NAUTILUS_SPATIAL_WINDOW (window)->affect_spatial_window_on_next_location_change) { @@ -473,7 +478,12 @@ nautilus_window_open_location_full (NautilusWindow *window, NAUTILUS_SPATIAL_WINDOW (window)->affect_spatial_window_on_next_location_change = FALSE; target_window = window; } - } else { + } else if (flags & NAUTILUS_WINDOW_OPEN_FLAG_NEW_WINDOW) { + target_window = nautilus_application_create_navigation_window + (window->application, + NULL, + gtk_window_get_screen (GTK_WINDOW (window))); + } else { target_window = window; } break; |