diff options
author | Anders Carlsson <andersca@gnu.org> | 2002-01-08 17:35:51 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2002-01-08 17:35:51 +0000 |
commit | 58e06b842b70896489a2dd6b4346d199e0f8d18a (patch) | |
tree | 92591814aaca0ed2c51a81ff43db73d02ef1b07d | |
parent | 0ec2aeba115d19de54091d3326bc591cb5c1ba20 (diff) | |
download | nautilus-58e06b842b70896489a2dd6b4346d199e0f8d18a.tar.gz |
Implement nautilus_view_close_window ().
2002-01-08 Anders Carlsson <andersca@gnu.org>
* libnautilus-private/nautilus-icon-container.c:
(nautilus_icon_container_update_icon):
* libnautilus/nautilus-view-component.idl:
* libnautilus/nautilus-view.c: (call_close_window),
(nautilus_view_close_window):
* libnautilus/nautilus-view.h:
* src/nautilus-profiler.c:
(nautilus_profiler_bonobo_ui_report_callback):
* src/nautilus-view-frame-corba.c: (close_window),
(impl_Nautilus_ViewFrame_close_window),
(nautilus_view_frame_corba_part_class_init):
* src/nautilus-view-frame-private.h:
* src/nautilus-view-frame.c: (nautilus_view_frame_close_window),
(nautilus_view_frame_class_init):
* src/nautilus-view-frame.h:
* src/nautilus-window-manage-views.c: (close_window_callback):
Implement nautilus_view_close_window ().
-rw-r--r-- | ChangeLog | 20 | ||||
-rw-r--r-- | libnautilus/nautilus-view-component.idl | 1 | ||||
-rw-r--r-- | libnautilus/nautilus-view.c | 26 | ||||
-rw-r--r-- | libnautilus/nautilus-view.h | 1 | ||||
-rw-r--r-- | src/nautilus-view-frame-corba.c | 16 | ||||
-rw-r--r-- | src/nautilus-view-frame-private.h | 1 | ||||
-rw-r--r-- | src/nautilus-view-frame.c | 18 | ||||
-rw-r--r-- | src/nautilus-view-frame.h | 1 | ||||
-rw-r--r-- | src/nautilus-window-manage-views.c | 10 |
9 files changed, 94 insertions, 0 deletions
@@ -1,4 +1,24 @@ 2002-01-08 Anders Carlsson <andersca@gnu.org> + + * libnautilus-private/nautilus-icon-container.c: + (nautilus_icon_container_update_icon): + * libnautilus/nautilus-view-component.idl: + * libnautilus/nautilus-view.c: (call_close_window), + (nautilus_view_close_window): + * libnautilus/nautilus-view.h: + * src/nautilus-profiler.c: + (nautilus_profiler_bonobo_ui_report_callback): + * src/nautilus-view-frame-corba.c: (close_window), + (impl_Nautilus_ViewFrame_close_window), + (nautilus_view_frame_corba_part_class_init): + * src/nautilus-view-frame-private.h: + * src/nautilus-view-frame.c: (nautilus_view_frame_close_window), + (nautilus_view_frame_class_init): + * src/nautilus-view-frame.h: + * src/nautilus-window-manage-views.c: (close_window_callback): + Implement nautilus_view_close_window (). + +2002-01-08 Anders Carlsson <andersca@gnu.org> * src/nautilus-zoom-control.c (nautilus_zoom_control_finalize): Remove preferences calback in ::finalize. diff --git a/libnautilus/nautilus-view-component.idl b/libnautilus/nautilus-view-component.idl index 7a6b37f8c..0f3b0f49d 100644 --- a/libnautilus/nautilus-view-component.idl +++ b/libnautilus/nautilus-view-component.idl @@ -151,6 +151,7 @@ module Nautilus { * which does nothing if there's nowhere to go. */ oneway void go_back (); + oneway void close_window (); }; }; diff --git a/libnautilus/nautilus-view.c b/libnautilus/nautilus-view.c index 478041663..1c13e85c3 100644 --- a/libnautilus/nautilus-view.c +++ b/libnautilus/nautilus-view.c @@ -763,6 +763,22 @@ call_go_back (NautilusView *view, view_frame_call_end (view_frame, &ev); } + +static void +call_close_window (NautilusView *view, + gpointer callback_data) +{ + CORBA_Environment ev; + Nautilus_ViewFrame view_frame; + + view_frame = view_frame_call_begin (view, &ev); + if (view_frame != CORBA_OBJECT_NIL) { + Nautilus_ViewFrame_close_window (view_frame, &ev); + } + view_frame_call_end (view_frame, &ev); +} + + void nautilus_view_open_location_in_this_window (NautilusView *view, const char *location) @@ -916,6 +932,16 @@ nautilus_view_go_back (NautilusView *view) NULL); } +void +nautilus_view_close_window (NautilusView *view) +{ + queue_outgoing_call (view, + call_close_window, + NULL, + NULL); +} + + BonoboControl * nautilus_view_get_bonobo_control (NautilusView *view) { diff --git a/libnautilus/nautilus-view.h b/libnautilus/nautilus-view.h index 1b7468547..9077aae31 100644 --- a/libnautilus/nautilus-view.h +++ b/libnautilus/nautilus-view.h @@ -98,6 +98,7 @@ void nautilus_view_report_load_failed (NautilusV void nautilus_view_set_title (NautilusView *view, const char *title); void nautilus_view_go_back (NautilusView *view); +void nautilus_view_close_window (NautilusView *view); /* Some utility functions useful for doing the CORBA work directly. * Not needed by most components, but shared with the view frame code, diff --git a/src/nautilus-view-frame-corba.c b/src/nautilus-view-frame-corba.c index 630ebd199..b43b14e8b 100644 --- a/src/nautilus-view-frame-corba.c +++ b/src/nautilus-view-frame-corba.c @@ -187,6 +187,13 @@ go_back (NautilusViewFrame *view, } static void +close_window (NautilusViewFrame *view, + gpointer callback_data) +{ + nautilus_view_frame_close_window (view); +} + +static void impl_Nautilus_ViewFrame_open_location_in_this_window (PortableServer_Servant servant, const CORBA_char *location, CORBA_Environment *ev) @@ -367,6 +374,14 @@ impl_Nautilus_ViewFrame_go_back (PortableServer_Servant servant, } static void +impl_Nautilus_ViewFrame_close_window (PortableServer_Servant servant, + CORBA_Environment *ev) +{ + nautilus_view_frame_queue_incoming_call + (servant, close_window, NULL, NULL); +} + +static void nautilus_view_frame_corba_part_class_init (NautilusViewFrameCorbaPartClass *class) { class->epv.open_location_in_this_window = impl_Nautilus_ViewFrame_open_location_in_this_window; @@ -382,6 +397,7 @@ nautilus_view_frame_corba_part_class_init (NautilusViewFrameCorbaPartClass *clas class->epv.report_load_failed = impl_Nautilus_ViewFrame_report_load_failed; class->epv.set_title = impl_Nautilus_ViewFrame_set_title; class->epv.go_back = impl_Nautilus_ViewFrame_go_back; + class->epv.close_window = impl_Nautilus_ViewFrame_close_window; } static void diff --git a/src/nautilus-view-frame-private.h b/src/nautilus-view-frame-private.h index bb7bbcf75..449832c66 100644 --- a/src/nautilus-view-frame-private.h +++ b/src/nautilus-view-frame-private.h @@ -72,6 +72,7 @@ void nautilus_view_frame_report_load_failed (Nautilus void nautilus_view_frame_set_title (NautilusViewFrame *view, const char *title); void nautilus_view_frame_go_back (NautilusViewFrame *view); +void nautilus_view_frame_close_window (NautilusViewFrame *view); void nautilus_view_frame_quit_nautilus (NautilusViewFrame *view); void nautilus_view_frame_close_desktop (NautilusViewFrame *view); diff --git a/src/nautilus-view-frame.c b/src/nautilus-view-frame.c index 02a62799a..2de18b90d 100644 --- a/src/nautilus-view-frame.c +++ b/src/nautilus-view-frame.c @@ -58,6 +58,7 @@ enum { FAILED, GET_HISTORY_LIST, GO_BACK, + CLOSE_WINDOW, LOAD_COMPLETE, LOAD_PROGRESS_CHANGED, LOAD_UNDERWAY, @@ -1254,6 +1255,14 @@ nautilus_view_frame_go_back (NautilusViewFrame *view) } void +nautilus_view_frame_close_window (NautilusViewFrame *view) +{ + g_return_if_fail (NAUTILUS_IS_VIEW_FRAME (view)); + + g_signal_emit (view, signals[CLOSE_WINDOW], 0); +} + +void nautilus_view_frame_set_title (NautilusViewFrame *view, const char *title) { @@ -1431,6 +1440,15 @@ nautilus_view_frame_class_init (NautilusViewFrameClass *class) NULL, NULL, gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + signals[CLOSE_WINDOW] = g_signal_new + ("close_window", + G_TYPE_FROM_CLASS (class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (NautilusViewFrameClass, + close_window), + NULL, NULL, + gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); signals[LOAD_COMPLETE] = g_signal_new ("load_complete", G_TYPE_FROM_CLASS (class), diff --git a/src/nautilus-view-frame.h b/src/nautilus-view-frame.h index 4c8c33d71..bc684e4ed 100644 --- a/src/nautilus-view-frame.h +++ b/src/nautilus-view-frame.h @@ -92,6 +92,7 @@ typedef struct { void (* zoom_parameters_changed) (NautilusViewFrame *view); Nautilus_History * (* get_history_list) (NautilusViewFrame *view); void (* go_back) (NautilusViewFrame *view); + void (* close_window) (NautilusViewFrame *view); } NautilusViewFrameClass; /* basic view management */ diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c index 43e34d5e9..ed62de131 100644 --- a/src/nautilus-window-manage-views.c +++ b/src/nautilus-window-manage-views.c @@ -1704,6 +1704,15 @@ go_back_callback (NautilusViewFrame *view, } static void +close_window_callback (NautilusViewFrame *view, + NautilusWindow *window) +{ + g_assert (NAUTILUS_IS_WINDOW (window)); + + nautilus_window_close (window); +} + +static void change_selection_callback (NautilusViewFrame *view, GList *selection, NautilusWindow *window) @@ -1925,6 +1934,7 @@ view_loaded_callback (NautilusViewFrame *view, macro (failed) \ macro (get_history_list) \ macro (go_back) \ + macro (close_window) \ macro (load_complete) \ macro (load_underway) \ macro (open_location_force_new_window) \ |