summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2009-12-16 10:10:36 +0100
committerAlexander Larsson <alexl@redhat.com>2009-12-16 13:13:15 +0100
commit1545e04eaf41068c3add34792815b2df84b7fd5d (patch)
tree5edfb6630b05907c6e57fb5e29373b92be64de0b
parent6a71f0f996e7c946a10e263951a906dd9795c4dc (diff)
downloadnautilus-1545e04eaf41068c3add34792815b2df84b7fd5d.tar.gz
Use window_get_extra_slot instead of get_directory_view_of_next_pane
We want to remove get_directory_view_of_next_pane as the main code should not reference FMDirectoryView.
-rw-r--r--src/file-manager/fm-directory-view.c44
1 files changed, 30 insertions, 14 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index 21e1b55cb..c81f52fac 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -5056,6 +5056,23 @@ get_strings_for_environment_variables (FMDirectoryView *view, GList *selected_fi
}
}
+static FMDirectoryView *
+get_directory_view_of_extra_pane (FMDirectoryView *view)
+{
+ NautilusWindowSlotInfo *slot;
+ NautilusView *next_view;
+
+ slot = nautilus_window_info_get_extra_slot (fm_directory_view_get_nautilus_window (view));
+ if (slot != NULL) {
+ next_view = nautilus_window_slot_info_get_current_view (slot);
+
+ if (FM_IS_DIRECTORY_VIEW (next_view)) {
+ return FM_DIRECTORY_VIEW (next_view);
+ }
+ }
+ return NULL;
+}
+
/*
* Set up some environment variables that scripts can use
* to take advantage of the current Nautilus state.
@@ -5071,7 +5088,7 @@ set_script_environment_variables (FMDirectoryView *view, GList *selected_files)
get_strings_for_environment_variables (view, selected_files,
&file_paths, &uris, &uri);
-
+
g_setenv ("NAUTILUS_SCRIPT_SELECTED_FILE_PATHS", file_paths, TRUE);
g_free (file_paths);
@@ -5081,35 +5098,34 @@ set_script_environment_variables (FMDirectoryView *view, GList *selected_files)
g_setenv ("NAUTILUS_SCRIPT_CURRENT_URI", uri, TRUE);
g_free (uri);
- geometry_string = eel_gtk_window_get_geometry_string
+ geometry_string = eel_gtk_window_get_geometry_string
(GTK_WINDOW (fm_directory_view_get_containing_window (view)));
g_setenv ("NAUTILUS_SCRIPT_WINDOW_GEOMETRY", geometry_string, TRUE);
g_free (geometry_string);
-
- /* next pane */
- next_view = nautilus_window_info_get_directory_view_of_next_pane (fm_directory_view_get_nautilus_window (view));
- if (next_view) {
+
+ /* next pane */
+ next_view = get_directory_view_of_extra_pane (view);
+ if (next_view) {
GList *next_pane_selected_files;
next_pane_selected_files = fm_directory_view_get_selection (next_view);
get_strings_for_environment_variables (next_view, next_pane_selected_files,
&file_paths, &uris, &uri);
nautilus_file_list_free (next_pane_selected_files);
- }
- else {
+ } else {
file_paths = g_strdup("");
uris = g_strdup("");
- uri = g_strdup("");
- }
-
+ uri = g_strdup("");
+ }
+
g_setenv ("NAUTILUS_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS", file_paths, TRUE);
g_free (file_paths);
-
+
g_setenv ("NAUTILUS_SCRIPT_NEXT_PANE_SELECTED_URIS", uris, TRUE);
g_free (uris);
-
+
g_setenv ("NAUTILUS_SCRIPT_NEXT_PANE_CURRENT_URI", uri, TRUE);
- g_free (uri);
+ g_free (uri);
}
/* Unset all the special script environment variables. */