summaryrefslogtreecommitdiff
path: root/libnautilus/nautilus-view.h
diff options
context:
space:
mode:
authorJohn Sullivan <sullivan@src.gnome.org>2000-08-19 00:55:24 +0000
committerJohn Sullivan <sullivan@src.gnome.org>2000-08-19 00:55:24 +0000
commit298b6cc9a768c3fac906e83feb4d867c2f9618fd (patch)
tree17d12e3bb5aca1b33c814a9af8be4321da0762bb /libnautilus/nautilus-view.h
parentdb80cb985fd83f9af3084508cf75e3e69987a9b9 (diff)
downloadnautilus-298b6cc9a768c3fac906e83feb4d867c2f9618fd.tar.gz
More work on bug 1750 ("Reveal in New Window" feature for
search results). Now it opens a new window with the right item selected. The only remaining work is to make the new window scroll as necessary to reveal the item. Along the way, fixed an unreported bug where the selection wasn't being maintained on view switches. * libnautilus-extensions/nautilus-gtk-extensions.h: added #define for nautilus_gtk_marshal_NONE__STRING_POINTER. * libnautilus/nautilus-view-component.idl: Added open_in_new_window_and_select call. * libnautilus/nautilus-view.h, * libnautilus/nautilus-view.c: (nautilus_view_open_in_new_window_and_select): * src/nautilus-view-frame-corba.c: (impl_Nautilus_ViewFrame_open_location_in_new_window), (impl_Nautilus_ViewFrame_open_in_new_window_and_select): * src/nautilus-view-frame-private.h: * src/nautilus-view-frame.c: (nautilus_view_frame_initialize_class), (nautilus_view_frame_open_in_new_window_and_select): * src/nautilus-view-frame.h: Wired together the various pieces to get open_in_new_window_and_select across CORBA and into the view frame. * src/nautilus-window.h: added pending_selection field * src/nautilus-window-manage-views.h: added nautilus_window_open_in_new_window_and_select * src/nautilus-window.c: (nautilus_window_open_in_new_window_and_select_callback), (nautilus_window_connect_view): Wiring to connect view frame signals to window. (nautilus_window_destroy): free pending_selection * src/nautilus-window-manage-views.c: (nautilus_window_update_view): Changed call from nautilus_window_report_selection_changed to nautilus_view_frame_selection_changed. This was the source of the selection-not-preserved-across-view-changes bug. Darin came up with this fix. (open_location): Added a new_selection parameter to this bottleneck function. It is set as the pending_selection in the window. (nautilus_window_open_location), (nautilus_window_open_location_in_new_window), (nautilus_window_report_location_change): Update existing callers of open_location to pass NULL for new_selection parameter. (nautilus_window_open_in_new_window_and_select): New function, calls open_location with a selection (among other parameters). (nautilus_window_update_state): When loading a new location, set the location to pending_selection rather than NULL (and clear pending_selection later so it doesn't unnecessarily hang around). * src/file-manager/fm-search-list-view.c: (reveal_selected_items_callback): Call open_in_new_window_and_select instead of just open_location_in_new_window
Diffstat (limited to 'libnautilus/nautilus-view.h')
-rw-r--r--libnautilus/nautilus-view.h37
1 files changed, 20 insertions, 17 deletions
diff --git a/libnautilus/nautilus-view.h b/libnautilus/nautilus-view.h
index a8ccad208..797a7f914 100644
--- a/libnautilus/nautilus-view.h
+++ b/libnautilus/nautilus-view.h
@@ -66,23 +66,26 @@ NautilusView * nautilus_view_new_from_bonobo_control (BonoboControl
BonoboControl * nautilus_view_get_bonobo_control (NautilusView *view);
/* Calls to the Nautilus shell via the view frame. See the IDL for detailed comments. */
-void nautilus_view_report_location_change (NautilusView *view,
- const char *location_uri);
-void nautilus_view_open_location (NautilusView *view,
- const char *location_uri);
-void nautilus_view_open_location_in_new_window (NautilusView *view,
- const char *location_uri);
-void nautilus_view_report_selection_change (NautilusView *view,
- GList *selection); /* list of URI char *s */
-void nautilus_view_report_status (NautilusView *view,
- const char *status);
-void nautilus_view_report_load_underway (NautilusView *view);
-void nautilus_view_report_load_progress (NautilusView *view,
- double fraction_done);
-void nautilus_view_report_load_complete (NautilusView *view);
-void nautilus_view_report_load_failed (NautilusView *view);
-void nautilus_view_set_title (NautilusView *view,
- const char *title);
+void nautilus_view_report_location_change (NautilusView *view,
+ const char *location_uri);
+void nautilus_view_open_location (NautilusView *view,
+ const char *location_uri);
+void nautilus_view_open_location_in_new_window (NautilusView *view,
+ const char *location_uri);
+void nautilus_view_open_in_new_window_and_select (NautilusView *view,
+ const char *location_uri,
+ GList *selection);
+void nautilus_view_report_selection_change (NautilusView *view,
+ GList *selection); /* list of URI char *s */
+void nautilus_view_report_status (NautilusView *view,
+ const char *status);
+void nautilus_view_report_load_underway (NautilusView *view);
+void nautilus_view_report_load_progress (NautilusView *view,
+ double fraction_done);
+void nautilus_view_report_load_complete (NautilusView *view);
+void nautilus_view_report_load_failed (NautilusView *view);
+void nautilus_view_set_title (NautilusView *view,
+ const char *title);
/* Some utility functions useful for doing the CORBA work directly.
* Not needed by most components, but shared with the view frame code,