summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--libnautilus-private/nautilus-window-info.h5
-rw-r--r--src/file-manager/fm-icon-view.c3
-rw-r--r--src/file-manager/fm-list-view.c3
-rw-r--r--src/nautilus-window-manage-views.c12
5 files changed, 30 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 297aa1a4f..d71e6f494 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;