summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliot Lee <sopwith@src.gnome.org>1999-12-08 22:20:11 +0000
committerElliot Lee <sopwith@src.gnome.org>1999-12-08 22:20:11 +0000
commita2bc2c7596dd906c10e22357bfc7f0c9fe024873 (patch)
tree228e4dc77f1698d8c3f05f1b3989b512d06e6ea6
parent790227ce6d0ca2cdffdf5f8781c3b9c5bc8e15c2 (diff)
downloadnautilus-a2bc2c7596dd906c10e22357bfc7f0c9fe024873.tar.gz
make it not compile
-rw-r--r--idl/nautilus.idl11
-rw-r--r--libnautilus-extensions/Makefile.am6
-rw-r--r--libnautilus-extensions/libnautilus.h1
-rw-r--r--libnautilus-extensions/ntl-view-client.c58
-rw-r--r--libnautilus-extensions/ntl-view-client.h13
-rw-r--r--libnautilus-private/Makefile.am6
-rw-r--r--libnautilus-private/libnautilus.h1
-rw-r--r--libnautilus-private/ntl-view-client.c58
-rw-r--r--libnautilus-private/ntl-view-client.h13
-rw-r--r--libnautilus/Makefile.am6
-rw-r--r--libnautilus/libnautilus.h1
-rw-r--r--libnautilus/nautilus-view-frame.c58
-rw-r--r--libnautilus/nautilus-view-frame.h13
-rw-r--r--libnautilus/nautilus-view.c58
-rw-r--r--libnautilus/nautilus-view.h13
-rw-r--r--libnautilus/ntl-view-client.c58
-rw-r--r--libnautilus/ntl-view-client.h13
-rw-r--r--libnautilus/ntl-view-frame.c58
-rw-r--r--libnautilus/ntl-view-frame.h13
-rw-r--r--src/nautilus-navigation-window.c32
-rw-r--r--src/nautilus-navigation-window.h9
-rw-r--r--src/nautilus-object-window.c32
-rw-r--r--src/nautilus-object-window.h9
-rw-r--r--src/nautilus-spatial-window.c32
-rw-r--r--src/nautilus-spatial-window.h9
-rw-r--r--src/nautilus-view-frame.c22
-rw-r--r--src/nautilus-view-frame.h2
-rw-r--r--src/nautilus-window.c32
-rw-r--r--src/nautilus-window.h9
-rw-r--r--src/ntl-view.c22
-rw-r--r--src/ntl-view.h2
-rw-r--r--src/ntl-window.c32
-rw-r--r--src/ntl-window.h9
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);