diff options
author | John Sullivan <sullivan@src.gnome.org> | 2000-08-19 00:55:24 +0000 |
---|---|---|
committer | John Sullivan <sullivan@src.gnome.org> | 2000-08-19 00:55:24 +0000 |
commit | 298b6cc9a768c3fac906e83feb4d867c2f9618fd (patch) | |
tree | 17d12e3bb5aca1b33c814a9af8be4321da0762bb /libnautilus/nautilus-view.h | |
parent | db80cb985fd83f9af3084508cf75e3e69987a9b9 (diff) | |
download | nautilus-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.h | 37 |
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, |