diff options
author | Elliot Lee <sopwith@src.gnome.org> | 1999-12-08 22:20:11 +0000 |
---|---|---|
committer | Elliot Lee <sopwith@src.gnome.org> | 1999-12-08 22:20:11 +0000 |
commit | a2bc2c7596dd906c10e22357bfc7f0c9fe024873 (patch) | |
tree | 228e4dc77f1698d8c3f05f1b3989b512d06e6ea6 | |
parent | 790227ce6d0ca2cdffdf5f8781c3b9c5bc8e15c2 (diff) | |
download | nautilus-a2bc2c7596dd906c10e22357bfc7f0c9fe024873.tar.gz |
make it not compile
33 files changed, 626 insertions, 85 deletions
diff --git a/idl/nautilus.idl b/idl/nautilus.idl index 77edc96b2..bf66a4aff 100644 --- a/idl/nautilus.idl +++ b/idl/nautilus.idl @@ -24,6 +24,10 @@ module Nautilus { string selected_uri; }; + struct StatusRequestInfo { + string status_string; + }; + interface View : ::GNOME::Unknown { void save_state(in string config_path); void load_state(in string config_path); @@ -34,7 +38,14 @@ module Nautilus { oneway void notify_selection_change(in SelectionInfo selinfo); }; + interface MetaView : View { + }; + + interface ContentView : View { + }; + interface ViewFrame : ::GNOME::Unknown { + oneway void request_status_change(in StatusRequestInfo statinfo); oneway void request_location_change(in NavigationRequestInfo navinfo); oneway void request_selection_change(in SelectionRequestInfo selinfo); }; diff --git a/libnautilus-extensions/Makefile.am b/libnautilus-extensions/Makefile.am index d4982486d..0df8de310 100644 --- a/libnautilus-extensions/Makefile.am +++ b/libnautilus-extensions/Makefile.am @@ -8,10 +8,12 @@ BUILT_SOURCES=$(nautilus_idl_sources) libnautilusincludedir=$(includedir)/libnautilus libnautilusinclude_HEADERS= \ ntl-view-client.h \ + ntl-meta-view-client.h \ nautilus.h -libnautilus_la_SOURCES=$(nautilus_idl_sources) \ - ntl-view-client.c +libnautilus_la_SOURCES=$(nautilus_idl_sources) \ + ntl-view-client.c \ + ntl-meta-view-client.c $(nautilus_idl_sources): nautilus_idl_stamp diff --git a/libnautilus-extensions/libnautilus.h b/libnautilus-extensions/libnautilus.h index 0c5f3c143..021ae6126 100644 --- a/libnautilus-extensions/libnautilus.h +++ b/libnautilus-extensions/libnautilus.h @@ -30,5 +30,6 @@ #include <bonobo/gnome-bonobo.h> #include <libnautilus/nautilus.h> #include <libnautilus/ntl-view-client.h> +#include <libnautilus/ntl-meta-view-client.h> #endif diff --git a/libnautilus-extensions/ntl-view-client.c b/libnautilus-extensions/ntl-view-client.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus-extensions/ntl-view-client.c +++ b/libnautilus-extensions/ntl-view-client.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus-extensions/ntl-view-client.h b/libnautilus-extensions/ntl-view-client.h index 4a18af557..10db704da 100644 --- a/libnautilus-extensions/ntl-view-client.h +++ b/libnautilus-extensions/ntl-view-client.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/libnautilus-private/Makefile.am b/libnautilus-private/Makefile.am index d4982486d..0df8de310 100644 --- a/libnautilus-private/Makefile.am +++ b/libnautilus-private/Makefile.am @@ -8,10 +8,12 @@ BUILT_SOURCES=$(nautilus_idl_sources) libnautilusincludedir=$(includedir)/libnautilus libnautilusinclude_HEADERS= \ ntl-view-client.h \ + ntl-meta-view-client.h \ nautilus.h -libnautilus_la_SOURCES=$(nautilus_idl_sources) \ - ntl-view-client.c +libnautilus_la_SOURCES=$(nautilus_idl_sources) \ + ntl-view-client.c \ + ntl-meta-view-client.c $(nautilus_idl_sources): nautilus_idl_stamp diff --git a/libnautilus-private/libnautilus.h b/libnautilus-private/libnautilus.h index 0c5f3c143..021ae6126 100644 --- a/libnautilus-private/libnautilus.h +++ b/libnautilus-private/libnautilus.h @@ -30,5 +30,6 @@ #include <bonobo/gnome-bonobo.h> #include <libnautilus/nautilus.h> #include <libnautilus/ntl-view-client.h> +#include <libnautilus/ntl-meta-view-client.h> #endif diff --git a/libnautilus-private/ntl-view-client.c b/libnautilus-private/ntl-view-client.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus-private/ntl-view-client.c +++ b/libnautilus-private/ntl-view-client.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus-private/ntl-view-client.h b/libnautilus-private/ntl-view-client.h index 4a18af557..10db704da 100644 --- a/libnautilus-private/ntl-view-client.h +++ b/libnautilus-private/ntl-view-client.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/libnautilus/Makefile.am b/libnautilus/Makefile.am index d4982486d..0df8de310 100644 --- a/libnautilus/Makefile.am +++ b/libnautilus/Makefile.am @@ -8,10 +8,12 @@ BUILT_SOURCES=$(nautilus_idl_sources) libnautilusincludedir=$(includedir)/libnautilus libnautilusinclude_HEADERS= \ ntl-view-client.h \ + ntl-meta-view-client.h \ nautilus.h -libnautilus_la_SOURCES=$(nautilus_idl_sources) \ - ntl-view-client.c +libnautilus_la_SOURCES=$(nautilus_idl_sources) \ + ntl-view-client.c \ + ntl-meta-view-client.c $(nautilus_idl_sources): nautilus_idl_stamp diff --git a/libnautilus/libnautilus.h b/libnautilus/libnautilus.h index 0c5f3c143..021ae6126 100644 --- a/libnautilus/libnautilus.h +++ b/libnautilus/libnautilus.h @@ -30,5 +30,6 @@ #include <bonobo/gnome-bonobo.h> #include <libnautilus/nautilus.h> #include <libnautilus/ntl-view-client.h> +#include <libnautilus/ntl-meta-view-client.h> #endif diff --git a/libnautilus/nautilus-view-frame.c b/libnautilus/nautilus-view-frame.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus/nautilus-view-frame.c +++ b/libnautilus/nautilus-view-frame.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus/nautilus-view-frame.h b/libnautilus/nautilus-view-frame.h index 4a18af557..10db704da 100644 --- a/libnautilus/nautilus-view-frame.h +++ b/libnautilus/nautilus-view-frame.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/libnautilus/nautilus-view.c b/libnautilus/nautilus-view.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus/nautilus-view.c +++ b/libnautilus/nautilus-view.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus/nautilus-view.h b/libnautilus/nautilus-view.h index 4a18af557..10db704da 100644 --- a/libnautilus/nautilus-view.h +++ b/libnautilus/nautilus-view.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/libnautilus/ntl-view-client.c b/libnautilus/ntl-view-client.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus/ntl-view-client.c +++ b/libnautilus/ntl-view-client.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus/ntl-view-client.h b/libnautilus/ntl-view-client.h index 4a18af557..10db704da 100644 --- a/libnautilus/ntl-view-client.h +++ b/libnautilus/ntl-view-client.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/libnautilus/ntl-view-frame.c b/libnautilus/ntl-view-frame.c index 6aa3213db..49b6f92de 100644 --- a/libnautilus/ntl-view-frame.c +++ b/libnautilus/ntl-view-frame.c @@ -22,7 +22,7 @@ * Author: Elliot Lee <sopwith@redhat.com> * */ -/* ntl-view-client.c: Implementation for object that represents a nautilus client. */ +/* ntl-view-client.c: Implementation for object that represents a nautilus view implementation. */ #include <gtk/gtk.h> #include "libnautilus.h" @@ -58,7 +58,7 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant, Nautilus_SelectionInfo * selinfo, CORBA_Environment * ev); -static POA_Nautilus_View__epv impl_Nautilus_View_epv = +POA_Nautilus_View__epv libnautilus_Nautilus_View_epv = { NULL, /* _private */ (gpointer) & impl_Nautilus_View_save_state, @@ -72,7 +72,7 @@ static POA_Nautilus_View__vepv impl_Nautilus_View_vepv = { &gnome_object_base_epv, &gnome_object_epv, - &impl_Nautilus_View_epv + &libnautilus_Nautilus_View_epv }; static void @@ -120,15 +120,17 @@ impl_Nautilus_View__destroy(GnomeObject *obj, impl_POA_Nautilus_View *servant) { PortableServer_ObjectId *objid; CORBA_Environment ev; + void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev); CORBA_exception_init(&ev); + servant_destroy_func = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(servant->view)->klass)->servant_destroy_func; objid = PortableServer_POA_servant_to_id(bonobo_poa(), servant, &ev); PortableServer_POA_deactivate_object(bonobo_poa(), objid, &ev); CORBA_free(objid); obj->servant = NULL; - POA_Nautilus_View__fini((PortableServer_Servant) servant, &ev); + servant_destroy_func((PortableServer_Servant) servant, &ev); g_free(servant); CORBA_exception_free(&ev); } @@ -138,11 +140,14 @@ impl_Nautilus_View__create(NautilusViewClient *view, CORBA_Environment * ev) { GnomeObject *retval; impl_POA_Nautilus_View *newservant; + void (*servant_init_func)(PortableServer_Servant servant, CORBA_Environment *ev); + NautilusViewClientClass *view_class = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + servant_init_func = view_class->servant_init_func; newservant = g_new0(impl_POA_Nautilus_View, 1); - newservant->servant.vepv = &impl_Nautilus_View_vepv; + newservant->servant.vepv = view_class->vepv; newservant->view = view; - POA_Nautilus_View__init((PortableServer_Servant) newservant, ev); + servant_init_func((PortableServer_Servant) newservant, ev); retval = gnome_object_new_from_servant(newservant); @@ -229,6 +234,9 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass) klass->notify_location_change = NULL; klass->parent_class = gtk_type_class (gtk_type_parent (object_class->type)); + klass->servant_init_func = POA_Nautilus_View__init; + klass->servant_destroy_func = POA_Nautilus_View__fini; + klass->vepv = &impl_Nautilus_View_vepv; i = 0; klass->view_client_signals[i++] = gtk_signal_new("notify_location_change", @@ -292,9 +300,15 @@ nautilus_view_client_init (NautilusViewClient *view) } static void -nautilus_view_client_destroy (NautilusViewClient *view) +nautilus_view_client_destroy (NautilusViewClient *view) { - gtk_object_destroy(GTK_OBJECT(view->view_client)); + NautilusViewClientClass *klass = NAUTILUS_VIEW_CLIENT_CLASS(GTK_OBJECT(view)->klass); + + gnome_object_destroy(view->view_client); + gnome_object_destroy(view->control); + + if(((GtkObjectClass *)klass->parent_class)->destroy) + ((GtkObjectClass *)klass->parent_class)->destroy((GtkObject *)view); } void @@ -353,6 +367,34 @@ nautilus_view_client_request_selection_change (NautilusViewClient * CORBA_exception_free(&ev); } +void +nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc) +{ + CORBA_Environment ev; + + g_return_if_fail (view != NULL); + g_return_if_fail (NAUTILUS_IS_VIEW_CLIENT (view)); + + CORBA_exception_init(&ev); + if(CORBA_Object_is_nil(view->view_frame, &ev)) + view->view_frame = GNOME_Unknown_query_interface(gnome_control_get_control_frame(GNOME_CONTROL(view->control)), + "IDL:Nautilus/ViewFrame:1.0", &ev); + if(ev._major != CORBA_NO_EXCEPTION) + view->view_frame = CORBA_OBJECT_NIL; + if(CORBA_Object_is_nil(view->view_frame, &ev)) + return; + + Nautilus_ViewFrame_request_status_change(view->view_frame, loc, &ev); + if(ev._major != CORBA_NO_EXCEPTION) + { + CORBA_Object_release(view->view_frame, &ev); + view->view_frame = CORBA_OBJECT_NIL; + } + + CORBA_exception_free(&ev); +} + static void nautilus_view_client_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/libnautilus/ntl-view-frame.h b/libnautilus/ntl-view-frame.h index 4a18af557..10db704da 100644 --- a/libnautilus/ntl-view-frame.h +++ b/libnautilus/ntl-view-frame.h @@ -27,7 +27,7 @@ #ifndef NTL_VIEW_CLIENT_H #define NTL_VIEW_CLIENT_H -#include <gtk/gtkobject.h> +#include <gtk/gtk.h> #ifdef __cplusplus extern "C" { @@ -50,11 +50,14 @@ struct _NautilusViewClientClass Nautilus_NavigationInfo *nav_context); void (*notify_selection_change) (NautilusViewClient *view, Nautilus_SelectionInfo *nav_context); - void (*load_state) (NautilusViewClient *view, const char *config_path); - void (*save_state) (NautilusViewClient *view, const char *config_path); - void (*show_properties) (NautilusViewClient *view); + void (*load_state) (NautilusViewClient *view, const char *config_path); + void (*save_state) (NautilusViewClient *view, const char *config_path); + void (*show_properties) (NautilusViewClient *view); GtkBinClass *parent_class; + + gpointer servant_init_func, servant_destroy_func, vepv, ; + guint view_client_signals[5]; }; @@ -73,6 +76,8 @@ void nautilus_view_client_request_location_change (NautilusViewClient Nautilus_NavigationRequestInfo *loc); void nautilus_view_client_request_selection_change (NautilusViewClient *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_client_request_status_change (NautilusViewClient *view, + Nautilus_StatusRequestInfo *loc); #ifdef __cplusplus } diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c index 2486bcd99..33e86a6aa 100644 --- a/src/nautilus-navigation-window.c +++ b/src/nautilus-navigation-window.c @@ -47,6 +47,9 @@ static void nautilus_window_real_request_location_change (NautilusWindow *window static void nautilus_window_real_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +static void nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); #define CONTENTS_AS_HBOX /* six seconds */ @@ -114,6 +117,7 @@ nautilus_window_class_init (NautilusWindowClass *klass) klass->request_location_change = nautilus_window_real_request_location_change; klass->request_selection_change = nautilus_window_real_request_selection_change; + klass->request_status_change = nautilus_window_real_request_status_change; i = 0; klass->window_signals[i++] = gtk_signal_new("request_location_change", @@ -128,6 +132,12 @@ nautilus_window_class_init (NautilusWindowClass *klass) GTK_SIGNAL_OFFSET (NautilusWindowClass, request_selection_change), gtk_marshal_NONE__BOXED_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); + klass->window_signals[i++] = gtk_signal_new("request_status_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (NautilusWindowClass, request_status_change), + gtk_marshal_NONE__BOXED_OBJECT, + GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); gtk_object_class_add_signals (object_class, klass->window_signals, i); gtk_object_add_arg_type ("NautilusWindow::app_id", @@ -465,6 +475,20 @@ nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view } void +nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + NautilusWindowClass *klass; + GtkObject *obj; + + obj = GTK_OBJECT(window); + + klass = NAUTILUS_WINDOW_CLASS(obj->klass); + gtk_signal_emit(obj, klass->window_signals[2], loc, requesting_view); +} + +void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view) @@ -631,6 +655,14 @@ static void nautilus_window_real_request_selection_change(NautilusWindow *window } static void +nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + nautilus_window_set_status(window, loc->status_string); +} + +static void nautilus_window_real_request_location_change (NautilusWindow *window, Nautilus_NavigationRequestInfo *loc, GtkWidget *requesting_view) diff --git a/src/nautilus-navigation-window.h b/src/nautilus-navigation-window.h index cff2879ce..f88a862f7 100644 --- a/src/nautilus-navigation-window.h +++ b/src/nautilus-navigation-window.h @@ -50,7 +50,11 @@ typedef struct { void (* request_selection_change)(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); - guint window_signals[2]; + void (* request_status_change) (NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); + + guint window_signals[3]; } NautilusWindowClass; struct _NautilusWindow { @@ -78,6 +82,9 @@ void nautilus_window_request_location_change(NautilusWindow *window, void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +void nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); void nautilus_window_save_state(NautilusWindow *window, const char *config_path); void nautilus_window_load_state(NautilusWindow *window, const char *config_path); void nautilus_window_set_initial_state(NautilusWindow *window); diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c index 2486bcd99..33e86a6aa 100644 --- a/src/nautilus-object-window.c +++ b/src/nautilus-object-window.c @@ -47,6 +47,9 @@ static void nautilus_window_real_request_location_change (NautilusWindow *window static void nautilus_window_real_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +static void nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); #define CONTENTS_AS_HBOX /* six seconds */ @@ -114,6 +117,7 @@ nautilus_window_class_init (NautilusWindowClass *klass) klass->request_location_change = nautilus_window_real_request_location_change; klass->request_selection_change = nautilus_window_real_request_selection_change; + klass->request_status_change = nautilus_window_real_request_status_change; i = 0; klass->window_signals[i++] = gtk_signal_new("request_location_change", @@ -128,6 +132,12 @@ nautilus_window_class_init (NautilusWindowClass *klass) GTK_SIGNAL_OFFSET (NautilusWindowClass, request_selection_change), gtk_marshal_NONE__BOXED_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); + klass->window_signals[i++] = gtk_signal_new("request_status_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (NautilusWindowClass, request_status_change), + gtk_marshal_NONE__BOXED_OBJECT, + GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); gtk_object_class_add_signals (object_class, klass->window_signals, i); gtk_object_add_arg_type ("NautilusWindow::app_id", @@ -465,6 +475,20 @@ nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view } void +nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + NautilusWindowClass *klass; + GtkObject *obj; + + obj = GTK_OBJECT(window); + + klass = NAUTILUS_WINDOW_CLASS(obj->klass); + gtk_signal_emit(obj, klass->window_signals[2], loc, requesting_view); +} + +void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view) @@ -631,6 +655,14 @@ static void nautilus_window_real_request_selection_change(NautilusWindow *window } static void +nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + nautilus_window_set_status(window, loc->status_string); +} + +static void nautilus_window_real_request_location_change (NautilusWindow *window, Nautilus_NavigationRequestInfo *loc, GtkWidget *requesting_view) diff --git a/src/nautilus-object-window.h b/src/nautilus-object-window.h index cff2879ce..f88a862f7 100644 --- a/src/nautilus-object-window.h +++ b/src/nautilus-object-window.h @@ -50,7 +50,11 @@ typedef struct { void (* request_selection_change)(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); - guint window_signals[2]; + void (* request_status_change) (NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); + + guint window_signals[3]; } NautilusWindowClass; struct _NautilusWindow { @@ -78,6 +82,9 @@ void nautilus_window_request_location_change(NautilusWindow *window, void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +void nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); void nautilus_window_save_state(NautilusWindow *window, const char *config_path); void nautilus_window_load_state(NautilusWindow *window, const char *config_path); void nautilus_window_set_initial_state(NautilusWindow *window); diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c index 2486bcd99..33e86a6aa 100644 --- a/src/nautilus-spatial-window.c +++ b/src/nautilus-spatial-window.c @@ -47,6 +47,9 @@ static void nautilus_window_real_request_location_change (NautilusWindow *window static void nautilus_window_real_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +static void nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); #define CONTENTS_AS_HBOX /* six seconds */ @@ -114,6 +117,7 @@ nautilus_window_class_init (NautilusWindowClass *klass) klass->request_location_change = nautilus_window_real_request_location_change; klass->request_selection_change = nautilus_window_real_request_selection_change; + klass->request_status_change = nautilus_window_real_request_status_change; i = 0; klass->window_signals[i++] = gtk_signal_new("request_location_change", @@ -128,6 +132,12 @@ nautilus_window_class_init (NautilusWindowClass *klass) GTK_SIGNAL_OFFSET (NautilusWindowClass, request_selection_change), gtk_marshal_NONE__BOXED_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); + klass->window_signals[i++] = gtk_signal_new("request_status_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (NautilusWindowClass, request_status_change), + gtk_marshal_NONE__BOXED_OBJECT, + GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); gtk_object_class_add_signals (object_class, klass->window_signals, i); gtk_object_add_arg_type ("NautilusWindow::app_id", @@ -465,6 +475,20 @@ nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view } void +nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + NautilusWindowClass *klass; + GtkObject *obj; + + obj = GTK_OBJECT(window); + + klass = NAUTILUS_WINDOW_CLASS(obj->klass); + gtk_signal_emit(obj, klass->window_signals[2], loc, requesting_view); +} + +void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view) @@ -631,6 +655,14 @@ static void nautilus_window_real_request_selection_change(NautilusWindow *window } static void +nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + nautilus_window_set_status(window, loc->status_string); +} + +static void nautilus_window_real_request_location_change (NautilusWindow *window, Nautilus_NavigationRequestInfo *loc, GtkWidget *requesting_view) diff --git a/src/nautilus-spatial-window.h b/src/nautilus-spatial-window.h index cff2879ce..f88a862f7 100644 --- a/src/nautilus-spatial-window.h +++ b/src/nautilus-spatial-window.h @@ -50,7 +50,11 @@ typedef struct { void (* request_selection_change)(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); - guint window_signals[2]; + void (* request_status_change) (NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); + + guint window_signals[3]; } NautilusWindowClass; struct _NautilusWindow { @@ -78,6 +82,9 @@ void nautilus_window_request_location_change(NautilusWindow *window, void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +void nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); void nautilus_window_save_state(NautilusWindow *window, const char *config_path); void nautilus_window_load_state(NautilusWindow *window, const char *config_path); void nautilus_window_set_initial_state(NautilusWindow *window); diff --git a/src/nautilus-view-frame.c b/src/nautilus-view-frame.c index 405e53fec..a9d7b85ac 100644 --- a/src/nautilus-view-frame.c +++ b/src/nautilus-view-frame.c @@ -57,12 +57,17 @@ static void impl_Nautilus_ViewFrame_request_selection_change(impl_POA_Nautilus_ViewFrame * servant, Nautilus_SelectionRequestInfo * selinfo, CORBA_Environment * ev); +static void +impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * servant, + Nautilus_StatusRequestInfo * statinfo, + CORBA_Environment * ev); static POA_Nautilus_ViewFrame__epv impl_Nautilus_ViewFrame_epv = { NULL, /* _private */ (void(*))&impl_Nautilus_ViewFrame_request_location_change, - (void(*))&impl_Nautilus_ViewFrame_request_selection_change + (void(*))&impl_Nautilus_ViewFrame_request_selection_change, + (void(*))&impl_Nautilus_ViewFrame_request_status_change }; static POA_Nautilus_ViewFrame__vepv impl_Nautilus_ViewFrame_vepv = @@ -124,6 +129,14 @@ impl_Nautilus_ViewFrame_request_selection_change(impl_POA_Nautilus_ViewFrame * s nautilus_view_request_selection_change(servant->view, selinfo); } +static void +impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * servant, + Nautilus_StatusRequestInfo * statinfo, + CORBA_Environment * ev) +{ + nautilus_view_request_status_change(servant->view, statinfo); +} + static void nautilus_view_init (NautilusView *view); static void nautilus_view_constructed(NautilusView *view); static void nautilus_view_class_init (NautilusViewClass *klass); @@ -334,6 +347,13 @@ nautilus_view_request_selection_change (NautilusView *view, nautilus_window_request_selection_change(NAUTILUS_WINDOW(view->main_window), loc, GTK_WIDGET(view)); } +void +nautilus_view_request_status_change (NautilusView *view, + Nautilus_StatusRequestInfo *loc) +{ + nautilus_window_request_status_change(NAUTILUS_WINDOW(view->main_window), loc, GTK_WIDGET(view)); +} + static void nautilus_view_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/src/nautilus-view-frame.h b/src/nautilus-view-frame.h index 6bad43b3b..381fac16f 100644 --- a/src/nautilus-view-frame.h +++ b/src/nautilus-view-frame.h @@ -86,6 +86,8 @@ void nautilus_view_request_location_change (NautilusView *view, Nautilus_NavigationRequestInfo *loc); void nautilus_view_request_selection_change (NautilusView *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_request_status_change (NautilusView *view, + Nautilus_StatusRequestInfo *loc); void nautilus_view_load_client (NautilusView *view, const char * iid); diff --git a/src/nautilus-window.c b/src/nautilus-window.c index 2486bcd99..33e86a6aa 100644 --- a/src/nautilus-window.c +++ b/src/nautilus-window.c @@ -47,6 +47,9 @@ static void nautilus_window_real_request_location_change (NautilusWindow *window static void nautilus_window_real_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +static void nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); #define CONTENTS_AS_HBOX /* six seconds */ @@ -114,6 +117,7 @@ nautilus_window_class_init (NautilusWindowClass *klass) klass->request_location_change = nautilus_window_real_request_location_change; klass->request_selection_change = nautilus_window_real_request_selection_change; + klass->request_status_change = nautilus_window_real_request_status_change; i = 0; klass->window_signals[i++] = gtk_signal_new("request_location_change", @@ -128,6 +132,12 @@ nautilus_window_class_init (NautilusWindowClass *klass) GTK_SIGNAL_OFFSET (NautilusWindowClass, request_selection_change), gtk_marshal_NONE__BOXED_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); + klass->window_signals[i++] = gtk_signal_new("request_status_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (NautilusWindowClass, request_status_change), + gtk_marshal_NONE__BOXED_OBJECT, + GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); gtk_object_class_add_signals (object_class, klass->window_signals, i); gtk_object_add_arg_type ("NautilusWindow::app_id", @@ -465,6 +475,20 @@ nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view } void +nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + NautilusWindowClass *klass; + GtkObject *obj; + + obj = GTK_OBJECT(window); + + klass = NAUTILUS_WINDOW_CLASS(obj->klass); + gtk_signal_emit(obj, klass->window_signals[2], loc, requesting_view); +} + +void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view) @@ -631,6 +655,14 @@ static void nautilus_window_real_request_selection_change(NautilusWindow *window } static void +nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + nautilus_window_set_status(window, loc->status_string); +} + +static void nautilus_window_real_request_location_change (NautilusWindow *window, Nautilus_NavigationRequestInfo *loc, GtkWidget *requesting_view) diff --git a/src/nautilus-window.h b/src/nautilus-window.h index cff2879ce..f88a862f7 100644 --- a/src/nautilus-window.h +++ b/src/nautilus-window.h @@ -50,7 +50,11 @@ typedef struct { void (* request_selection_change)(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); - guint window_signals[2]; + void (* request_status_change) (NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); + + guint window_signals[3]; } NautilusWindowClass; struct _NautilusWindow { @@ -78,6 +82,9 @@ void nautilus_window_request_location_change(NautilusWindow *window, void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +void nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); void nautilus_window_save_state(NautilusWindow *window, const char *config_path); void nautilus_window_load_state(NautilusWindow *window, const char *config_path); void nautilus_window_set_initial_state(NautilusWindow *window); diff --git a/src/ntl-view.c b/src/ntl-view.c index 405e53fec..a9d7b85ac 100644 --- a/src/ntl-view.c +++ b/src/ntl-view.c @@ -57,12 +57,17 @@ static void impl_Nautilus_ViewFrame_request_selection_change(impl_POA_Nautilus_ViewFrame * servant, Nautilus_SelectionRequestInfo * selinfo, CORBA_Environment * ev); +static void +impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * servant, + Nautilus_StatusRequestInfo * statinfo, + CORBA_Environment * ev); static POA_Nautilus_ViewFrame__epv impl_Nautilus_ViewFrame_epv = { NULL, /* _private */ (void(*))&impl_Nautilus_ViewFrame_request_location_change, - (void(*))&impl_Nautilus_ViewFrame_request_selection_change + (void(*))&impl_Nautilus_ViewFrame_request_selection_change, + (void(*))&impl_Nautilus_ViewFrame_request_status_change }; static POA_Nautilus_ViewFrame__vepv impl_Nautilus_ViewFrame_vepv = @@ -124,6 +129,14 @@ impl_Nautilus_ViewFrame_request_selection_change(impl_POA_Nautilus_ViewFrame * s nautilus_view_request_selection_change(servant->view, selinfo); } +static void +impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * servant, + Nautilus_StatusRequestInfo * statinfo, + CORBA_Environment * ev) +{ + nautilus_view_request_status_change(servant->view, statinfo); +} + static void nautilus_view_init (NautilusView *view); static void nautilus_view_constructed(NautilusView *view); static void nautilus_view_class_init (NautilusViewClass *klass); @@ -334,6 +347,13 @@ nautilus_view_request_selection_change (NautilusView *view, nautilus_window_request_selection_change(NAUTILUS_WINDOW(view->main_window), loc, GTK_WIDGET(view)); } +void +nautilus_view_request_status_change (NautilusView *view, + Nautilus_StatusRequestInfo *loc) +{ + nautilus_window_request_status_change(NAUTILUS_WINDOW(view->main_window), loc, GTK_WIDGET(view)); +} + static void nautilus_view_size_request (GtkWidget *widget, GtkRequisition *requisition) diff --git a/src/ntl-view.h b/src/ntl-view.h index 6bad43b3b..381fac16f 100644 --- a/src/ntl-view.h +++ b/src/ntl-view.h @@ -86,6 +86,8 @@ void nautilus_view_request_location_change (NautilusView *view, Nautilus_NavigationRequestInfo *loc); void nautilus_view_request_selection_change (NautilusView *view, Nautilus_SelectionRequestInfo *loc); +void nautilus_view_request_status_change (NautilusView *view, + Nautilus_StatusRequestInfo *loc); void nautilus_view_load_client (NautilusView *view, const char * iid); diff --git a/src/ntl-window.c b/src/ntl-window.c index 2486bcd99..33e86a6aa 100644 --- a/src/ntl-window.c +++ b/src/ntl-window.c @@ -47,6 +47,9 @@ static void nautilus_window_real_request_location_change (NautilusWindow *window static void nautilus_window_real_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +static void nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); #define CONTENTS_AS_HBOX /* six seconds */ @@ -114,6 +117,7 @@ nautilus_window_class_init (NautilusWindowClass *klass) klass->request_location_change = nautilus_window_real_request_location_change; klass->request_selection_change = nautilus_window_real_request_selection_change; + klass->request_status_change = nautilus_window_real_request_status_change; i = 0; klass->window_signals[i++] = gtk_signal_new("request_location_change", @@ -128,6 +132,12 @@ nautilus_window_class_init (NautilusWindowClass *klass) GTK_SIGNAL_OFFSET (NautilusWindowClass, request_selection_change), gtk_marshal_NONE__BOXED_OBJECT, GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); + klass->window_signals[i++] = gtk_signal_new("request_status_change", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (NautilusWindowClass, request_status_change), + gtk_marshal_NONE__BOXED_OBJECT, + GTK_TYPE_NONE, 2, GTK_TYPE_BOXED, GTK_TYPE_OBJECT); gtk_object_class_add_signals (object_class, klass->window_signals, i); gtk_object_add_arg_type ("NautilusWindow::app_id", @@ -465,6 +475,20 @@ nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view } void +nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + NautilusWindowClass *klass; + GtkObject *obj; + + obj = GTK_OBJECT(window); + + klass = NAUTILUS_WINDOW_CLASS(obj->klass); + gtk_signal_emit(obj, klass->window_signals[2], loc, requesting_view); +} + +void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view) @@ -631,6 +655,14 @@ static void nautilus_window_real_request_selection_change(NautilusWindow *window } static void +nautilus_window_real_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view) +{ + nautilus_window_set_status(window, loc->status_string); +} + +static void nautilus_window_real_request_location_change (NautilusWindow *window, Nautilus_NavigationRequestInfo *loc, GtkWidget *requesting_view) diff --git a/src/ntl-window.h b/src/ntl-window.h index cff2879ce..f88a862f7 100644 --- a/src/ntl-window.h +++ b/src/ntl-window.h @@ -50,7 +50,11 @@ typedef struct { void (* request_selection_change)(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); - guint window_signals[2]; + void (* request_status_change) (NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); + + guint window_signals[3]; } NautilusWindowClass; struct _NautilusWindow { @@ -78,6 +82,9 @@ void nautilus_window_request_location_change(NautilusWindow *window, void nautilus_window_request_selection_change(NautilusWindow *window, Nautilus_SelectionRequestInfo *loc, GtkWidget *requesting_view); +void nautilus_window_request_status_change(NautilusWindow *window, + Nautilus_StatusRequestInfo *loc, + GtkWidget *requesting_view); void nautilus_window_save_state(NautilusWindow *window, const char *config_path); void nautilus_window_load_state(NautilusWindow *window, const char *config_path); void nautilus_window_set_initial_state(NautilusWindow *window); |