summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliot Lee <sopwith@src.gnome.org>1999-12-13 22:44:06 +0000
committerElliot Lee <sopwith@src.gnome.org>1999-12-13 22:44:06 +0000
commit65c2e7dd64adfc221f412ce371ccd89d1e53a84d (patch)
tree5bbdee1ff470272c6f641832f3fe299cc5946aca
parent45836fc0c9c6f24d4cb8ef2b8f71def15e442b18 (diff)
downloadnautilus-65c2e7dd64adfc221f412ce371ccd89d1e53a84d.tar.gz
Switch from imlib to pixbuf. Import from gnome-fm. Add a 'main_window'
* libnautils/g*.[ch]: Switch from imlib to pixbuf. * src/file-manager: Import from gnome-fm. * idl/nautilus.idl: Add a 'main_window' attribute on a ViewFrame, so that views can talk to the main window.
-rw-r--r--ChangeLog-200004147
-rw-r--r--components/help/.cvsignore1
-rw-r--r--components/history/nautilus-history-view.c4
-rw-r--r--components/history/ntl-history-view.c4
-rw-r--r--configure.in1
-rw-r--r--idl/.cvsignore1
-rw-r--r--idl/Makefile.am3
-rw-r--r--idl/nautilus.idl6
-rw-r--r--libnautilus-extensions/Makefile.am2
-rw-r--r--libnautilus-extensions/gnome-icon-container.c36
-rw-r--r--libnautilus-extensions/gnome-icon-container.h17
-rw-r--r--libnautilus-extensions/gtkflist.c1
-rw-r--r--libnautilus-extensions/gtkflist.h1
-rw-r--r--libnautilus-extensions/gtkscrollframe.c1
-rw-r--r--libnautilus-extensions/gtkscrollframe.h1
-rw-r--r--libnautilus-extensions/libnautilus.h1
-rw-r--r--libnautilus-extensions/nautilus-scroll-frame.c1
-rw-r--r--libnautilus-extensions/nautilus-scroll-frame.h1
-rw-r--r--libnautilus-extensions/ntl-content-view-client.c36
-rw-r--r--libnautilus-extensions/ntl-meta-view-client.c39
-rw-r--r--libnautilus-extensions/ntl-view-client.c169
-rw-r--r--libnautilus-private/Makefile.am2
-rw-r--r--libnautilus-private/gnome-icon-container.c36
-rw-r--r--libnautilus-private/gnome-icon-container.h17
-rw-r--r--libnautilus-private/gtkflist.c1
-rw-r--r--libnautilus-private/gtkflist.h1
-rw-r--r--libnautilus-private/gtkscrollframe.c1
-rw-r--r--libnautilus-private/gtkscrollframe.h1
-rw-r--r--libnautilus-private/libnautilus.h1
-rw-r--r--libnautilus-private/nautilus-scroll-frame.c1
-rw-r--r--libnautilus-private/nautilus-scroll-frame.h1
-rw-r--r--libnautilus-private/ntl-content-view-client.c36
-rw-r--r--libnautilus-private/ntl-meta-view-client.c39
-rw-r--r--libnautilus-private/ntl-view-client.c169
-rw-r--r--libnautilus/Makefile.am2
-rw-r--r--libnautilus/gnome-icon-container.c36
-rw-r--r--libnautilus/gnome-icon-container.h17
-rw-r--r--libnautilus/gtkflist.c1
-rw-r--r--libnautilus/gtkflist.h1
-rw-r--r--libnautilus/gtkscrollframe.c1
-rw-r--r--libnautilus/gtkscrollframe.h1
-rw-r--r--libnautilus/libnautilus.h1
-rw-r--r--libnautilus/nautilus-content-view-frame.c36
-rw-r--r--libnautilus/nautilus-meta-view-frame.c39
-rw-r--r--libnautilus/nautilus-view-frame.c169
-rw-r--r--libnautilus/nautilus-view.c169
-rw-r--r--libnautilus/ntl-content-view-client.c36
-rw-r--r--libnautilus/ntl-content-view-frame.c36
-rw-r--r--libnautilus/ntl-meta-view-client.c39
-rw-r--r--libnautilus/ntl-meta-view-frame.c39
-rw-r--r--libnautilus/ntl-view-client.c169
-rw-r--r--libnautilus/ntl-view-frame.c169
-rw-r--r--src/Makefile.am6
-rw-r--r--src/explorer-location-bar.c4
-rw-r--r--src/explorer-location-bar.h2
-rw-r--r--src/file-manager/Makefile.am39
-rw-r--r--src/file-manager/desktop-window.c2
-rw-r--r--src/file-manager/fm-directory-view.c402
-rw-r--r--src/file-manager/fm-directory-view.h122
-rw-r--r--src/file-manager/fm-icon-cache.c439
-rw-r--r--src/file-manager/fm-icon-cache.h16
-rw-r--r--src/file-manager/fm-public-api.h6
-rw-r--r--src/file-manager/ntl-file-manager.goad11
-rw-r--r--src/nautilus-applicable-views.c17
-rw-r--r--src/nautilus-main.c22
-rw-r--r--src/nautilus-navigation-window.c80
-rw-r--r--src/nautilus-navigation-window.h3
-rw-r--r--src/nautilus-object-window.c80
-rw-r--r--src/nautilus-object-window.h3
-rw-r--r--src/nautilus-spatial-window.c80
-rw-r--r--src/nautilus-spatial-window.h3
-rw-r--r--src/nautilus-view-frame.c16
-rw-r--r--src/nautilus-window.c80
-rw-r--r--src/nautilus-window.h3
-rw-r--r--src/nautilus.h2
-rw-r--r--src/ntl-main.c22
-rw-r--r--src/ntl-uri-map.c17
-rw-r--r--src/ntl-view.c16
-rw-r--r--src/ntl-window.c80
-rw-r--r--src/ntl-window.h3
80 files changed, 2042 insertions, 1134 deletions
diff --git a/ChangeLog-20000414 b/ChangeLog-20000414
index bc8e27b49..3322651e1 100644
--- a/ChangeLog-20000414
+++ b/ChangeLog-20000414
@@ -1,3 +1,10 @@
+1999-12-13 Elliot Lee <sopwith@redhat.com>
+
+ * libnautils/g*.[ch]: Switch from imlib to pixbuf.
+ * src/file-manager: Import from gnome-fm.
+
+ * idl/nautilus.idl: Add a 'main_window' attribute on a ViewFrame, so that views can talk to the main window.
+
1999-12-10 Elliot Lee <sopwith@redhat.com>
* libnautilus/ntl-meta-view.[ch]: Add a convenience function for
diff --git a/components/help/.cvsignore b/components/help/.cvsignore
new file mode 100644
index 000000000..70845e08e
--- /dev/null
+++ b/components/help/.cvsignore
@@ -0,0 +1 @@
+Makefile.in
diff --git a/components/history/nautilus-history-view.c b/components/history/nautilus-history-view.c
index 130ddd46b..eade36589 100644
--- a/components/history/nautilus-history-view.c
+++ b/components/history/nautilus-history-view.c
@@ -88,7 +88,7 @@ hyperbola_navigation_history_select_row(GtkCList *clist, gint row, gint column,
}
-static GnomeObject * make_obj(GnomeGenericFactory *Factory, const char *goad_id, void *closure)
+static GnomeObject * make_obj(GnomeGenericFactory *Factory, const char *goad_id, gpointer closure)
{
GtkWidget *client, *clist, *wtmp;
GnomeObject *ctl;
@@ -142,7 +142,7 @@ int main(int argc, char *argv[])
GNORBA_INIT_SERVER_FUNC, &ev);
bonobo_init(orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
- factory = gnome_generic_factory_new("ntl_history_view_factory", make_obj, NULL);
+ factory = gnome_generic_factory_new_multi("ntl_history_view_factory", make_obj, NULL);
gtk_main();
diff --git a/components/history/ntl-history-view.c b/components/history/ntl-history-view.c
index 130ddd46b..eade36589 100644
--- a/components/history/ntl-history-view.c
+++ b/components/history/ntl-history-view.c
@@ -88,7 +88,7 @@ hyperbola_navigation_history_select_row(GtkCList *clist, gint row, gint column,
}
-static GnomeObject * make_obj(GnomeGenericFactory *Factory, const char *goad_id, void *closure)
+static GnomeObject * make_obj(GnomeGenericFactory *Factory, const char *goad_id, gpointer closure)
{
GtkWidget *client, *clist, *wtmp;
GnomeObject *ctl;
@@ -142,7 +142,7 @@ int main(int argc, char *argv[])
GNORBA_INIT_SERVER_FUNC, &ev);
bonobo_init(orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
- factory = gnome_generic_factory_new("ntl_history_view_factory", make_obj, NULL);
+ factory = gnome_generic_factory_new_multi("ntl_history_view_factory", make_obj, NULL);
gtk_main();
diff --git a/configure.in b/configure.in
index 318e05b3b..cecebe9f5 100644
--- a/configure.in
+++ b/configure.in
@@ -40,6 +40,7 @@ AC_C_CONST
AC_OUTPUT([
Makefile
+idl/Makefile
libnautilus/Makefile
src/Makefile
src/file-manager/Makefile
diff --git a/idl/.cvsignore b/idl/.cvsignore
new file mode 100644
index 000000000..70845e08e
--- /dev/null
+++ b/idl/.cvsignore
@@ -0,0 +1 @@
+Makefile.in
diff --git a/idl/Makefile.am b/idl/Makefile.am
new file mode 100644
index 000000000..c7997070c
--- /dev/null
+++ b/idl/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST= \
+ GNOME_Desktop_FileOperationService.idl \
+ nautilus.idl
diff --git a/idl/nautilus.idl b/idl/nautilus.idl
index 43edae064..63c0ce327 100644
--- a/idl/nautilus.idl
+++ b/idl/nautilus.idl
@@ -46,7 +46,10 @@ module Nautilus {
interface ContentView : View {
};
+ interface ViewWindow;
+
interface ViewFrame : ::GNOME::Unknown {
+ readonly attribute ViewWindow main_window;
oneway void request_status_change(in StatusRequestInfo statinfo);
oneway void request_location_change(in NavigationRequestInfo navinfo);
oneway void request_selection_change(in SelectionRequestInfo selinfo);
@@ -57,4 +60,7 @@ module Nautilus {
interface ContentViewFrame : ViewFrame {
};
+
+ interface ViewWindow : ::GNOME::Unknown {
+ };
};
diff --git a/libnautilus-extensions/Makefile.am b/libnautilus-extensions/Makefile.am
index 741e33fb9..5cd2e798b 100644
--- a/libnautilus-extensions/Makefile.am
+++ b/libnautilus-extensions/Makefile.am
@@ -28,6 +28,8 @@ libnautilus_la_SOURCES=$(nautilus_idl_sources) \
gtkflist.c \
gtkscrollframe.c
+libnautilus_la_LDFLAGS=$(GNOME_LIBS) $(GNORBA_LIBS) $(GDK_PIXBUF_LIBS)
+
$(nautilus_idl_sources): nautilus_idl_stamp
nautilus_idl_stamp: $(top_srcdir)/idl/nautilus.idl
diff --git a/libnautilus-extensions/gnome-icon-container.c b/libnautilus-extensions/gnome-icon-container.c
index 48a9d5ef5..421c36858 100644
--- a/libnautilus-extensions/gnome-icon-container.c
+++ b/libnautilus-extensions/gnome-icon-container.c
@@ -26,6 +26,8 @@
#endif
#include <gnome.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
#include "gnome-icon-container-private.h"
#include "gnome-icon-container-dnd.h"
@@ -165,8 +167,8 @@ icon_new (GnomeIconContainer *container,
}
static GnomeIconContainerIcon *
-icon_new_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+icon_new_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -179,8 +181,8 @@ icon_new_imlib (GnomeIconContainer *container,
new->image_item
= gnome_canvas_item_new (new->item,
- gnome_canvas_image_get_type (),
- "image", image,
+ gnome_canvas_pixbuf_get_type (),
+ "pixbuf", image,
"x", (gdouble) 0,
"y", (gdouble) 0,
NULL);
@@ -2362,8 +2364,8 @@ gnome_icon_container_new (void)
{
GtkWidget *new;
- gtk_widget_push_visual (gdk_imlib_get_visual ());
- gtk_widget_push_colormap (gdk_imlib_get_colormap ());
+ gtk_widget_push_visual (gdk_rgb_get_visual ());
+ gtk_widget_push_colormap (gdk_rgb_get_cmap ());
new = gtk_type_new (gnome_icon_container_get_type ());
@@ -2460,8 +2462,8 @@ setup_icon_in_container (GnomeIconContainer *container,
}
void
-gnome_icon_container_add_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data)
@@ -2476,7 +2478,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
priv = container->priv;
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_position (new_icon, container, x, y);
world_to_grid (container, x, y, &grid_x, &grid_y);
@@ -2496,7 +2498,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_auto:
+ * gnome_icon_container_add_pixbuf_auto:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2506,8 +2508,8 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
* empty spot available.
**/
void
-gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_auto (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -2519,7 +2521,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
g_return_if_fail (image != NULL);
g_return_if_fail (text != NULL);
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_grid_add_auto (container->priv->grid, new_icon, &grid_x, &grid_y);
@@ -2532,7 +2534,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_with_layout:
+ * gnome_icon_container_add_pixbuf_with_layout:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2546,8 +2548,8 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
* has not been added); %TRUE otherwise.
**/
gboolean
-gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_with_layout (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout *layout)
@@ -2560,7 +2562,7 @@ gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
g_return_val_if_fail (layout != NULL, FALSE);
if (gnome_icon_container_layout_get_position (layout, text, &x, &y)) {
- gnome_icon_container_add_imlib (container, image,
+ gnome_icon_container_add_pixbuf (container, image,
text, x, y, data);
return TRUE;
} else {
diff --git a/libnautilus-extensions/gnome-icon-container.h b/libnautilus-extensions/gnome-icon-container.h
index dd61eaad9..320db2759 100644
--- a/libnautilus-extensions/gnome-icon-container.h
+++ b/libnautilus-extensions/gnome-icon-container.h
@@ -25,6 +25,7 @@
#define _GNOME_ICON_CONTAINER_H
#include <libgnomeui/libgnomeui.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
enum _GnomeIconContainerIconMode {
GNOME_ICON_CONTAINER_NORMAL_ICONS,
@@ -100,25 +101,25 @@ void gnome_icon_container_set_editable
gboolean gnome_icon_container_get_editable
(GnomeIconContainer *view);
-void gnome_icon_container_add_imlib (GnomeIconContainer *view,
- GdkImlibImage *image,
+void gnome_icon_container_add_pixbuf (GnomeIconContainer *view,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data);
-void gnome_icon_container_add_imlib_auto
+void gnome_icon_container_add_pixbuf_auto
(GnomeIconContainer *view,
- GdkImlibImage *image,
+ GdkPixbuf *image,
const gchar *text,
gpointer data);
-gboolean gnome_icon_container_add_imlib_with_layout
+gboolean gnome_icon_container_add_pixbuf_with_layout
(GnomeIconContainer
- *container,
- GdkImlibImage *image,
+ *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout
- *layout);
+ *layout);
gpointer gnome_icon_container_get_icon_data
(GnomeIconContainer *view,
diff --git a/libnautilus-extensions/gtkflist.c b/libnautilus-extensions/gtkflist.c
index 2b5abdd87..d163af921 100644
--- a/libnautilus-extensions/gtkflist.c
+++ b/libnautilus-extensions/gtkflist.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus-extensions/gtkflist.h b/libnautilus-extensions/gtkflist.h
index ac216deaf..329fddc94 100644
--- a/libnautilus-extensions/gtkflist.h
+++ b/libnautilus-extensions/gtkflist.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus-extensions/gtkscrollframe.c b/libnautilus-extensions/gtkscrollframe.c
index 6f41835ec..2a55ab656 100644
--- a/libnautilus-extensions/gtkscrollframe.c
+++ b/libnautilus-extensions/gtkscrollframe.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-extensions/gtkscrollframe.h b/libnautilus-extensions/gtkscrollframe.h
index facb59dac..ec726b8fa 100644
--- a/libnautilus-extensions/gtkscrollframe.h
+++ b/libnautilus-extensions/gtkscrollframe.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-extensions/libnautilus.h b/libnautilus-extensions/libnautilus.h
index 021ae6126..c54ac1055 100644
--- a/libnautilus-extensions/libnautilus.h
+++ b/libnautilus-extensions/libnautilus.h
@@ -31,5 +31,6 @@
#include <libnautilus/nautilus.h>
#include <libnautilus/ntl-view-client.h>
#include <libnautilus/ntl-meta-view-client.h>
+#include <libnautilus/ntl-content-view-client.h>
#endif
diff --git a/libnautilus-extensions/nautilus-scroll-frame.c b/libnautilus-extensions/nautilus-scroll-frame.c
index 6f41835ec..2a55ab656 100644
--- a/libnautilus-extensions/nautilus-scroll-frame.c
+++ b/libnautilus-extensions/nautilus-scroll-frame.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-extensions/nautilus-scroll-frame.h b/libnautilus-extensions/nautilus-scroll-frame.h
index facb59dac..ec726b8fa 100644
--- a/libnautilus-extensions/nautilus-scroll-frame.h
+++ b/libnautilus-extensions/nautilus-scroll-frame.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-extensions/ntl-content-view-client.c b/libnautilus-extensions/ntl-content-view-client.c
index 23f82da18..b654bfa52 100644
--- a/libnautilus-extensions/ntl-content-view-client.c
+++ b/libnautilus-extensions/ntl-content-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_content_view_client_class_init (NautilusContentViewClientCl
GtkType
nautilus_content_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusContentViewClient",
- sizeof (NautilusContentViewClient),
- sizeof (NautilusContentViewClientClass),
- (GtkClassInitFunc) nautilus_content_view_client_class_init,
- (GtkObjectInitFunc) nautilus_content_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusContentViewClient",
+ sizeof (NautilusContentViewClient),
+ sizeof (NautilusContentViewClientClass),
+ (GtkClassInitFunc) nautilus_content_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_content_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
diff --git a/libnautilus-extensions/ntl-meta-view-client.c b/libnautilus-extensions/ntl-meta-view-client.c
index b413b5976..585106504 100644
--- a/libnautilus-extensions/ntl-meta-view-client.c
+++ b/libnautilus-extensions/ntl-meta-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_meta_view_client_class_init (NautilusMetaViewClientClass *k
GtkType
nautilus_meta_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusMetaViewClient",
- sizeof (NautilusMetaViewClient),
- sizeof (NautilusMetaViewClientClass),
- (GtkClassInitFunc) nautilus_meta_view_client_class_init,
- (GtkObjectInitFunc) nautilus_meta_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusMetaViewClient",
+ sizeof (NautilusMetaViewClient),
+ sizeof (NautilusMetaViewClientClass),
+ (GtkClassInitFunc) nautilus_meta_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_meta_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
@@ -105,8 +107,9 @@ void
nautilus_meta_view_set_label(NautilusMetaViewClient *mvc, const char *label)
{
GnomeObject *ctl;
+ GnomePropertyBag *bag;
- ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(client));
+ ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(mvc));
/* set description */
bag = gnome_control_get_property_bag(GNOME_CONTROL(ctl));
gnome_property_bag_add(bag, "label", "string", label, label, _("Label"),
diff --git a/libnautilus-extensions/ntl-view-client.c b/libnautilus-extensions/ntl-view-client.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus-extensions/ntl-view-client.c
+++ b/libnautilus-extensions/ntl-view-client.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/libnautilus-private/Makefile.am b/libnautilus-private/Makefile.am
index 741e33fb9..5cd2e798b 100644
--- a/libnautilus-private/Makefile.am
+++ b/libnautilus-private/Makefile.am
@@ -28,6 +28,8 @@ libnautilus_la_SOURCES=$(nautilus_idl_sources) \
gtkflist.c \
gtkscrollframe.c
+libnautilus_la_LDFLAGS=$(GNOME_LIBS) $(GNORBA_LIBS) $(GDK_PIXBUF_LIBS)
+
$(nautilus_idl_sources): nautilus_idl_stamp
nautilus_idl_stamp: $(top_srcdir)/idl/nautilus.idl
diff --git a/libnautilus-private/gnome-icon-container.c b/libnautilus-private/gnome-icon-container.c
index 48a9d5ef5..421c36858 100644
--- a/libnautilus-private/gnome-icon-container.c
+++ b/libnautilus-private/gnome-icon-container.c
@@ -26,6 +26,8 @@
#endif
#include <gnome.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
#include "gnome-icon-container-private.h"
#include "gnome-icon-container-dnd.h"
@@ -165,8 +167,8 @@ icon_new (GnomeIconContainer *container,
}
static GnomeIconContainerIcon *
-icon_new_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+icon_new_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -179,8 +181,8 @@ icon_new_imlib (GnomeIconContainer *container,
new->image_item
= gnome_canvas_item_new (new->item,
- gnome_canvas_image_get_type (),
- "image", image,
+ gnome_canvas_pixbuf_get_type (),
+ "pixbuf", image,
"x", (gdouble) 0,
"y", (gdouble) 0,
NULL);
@@ -2362,8 +2364,8 @@ gnome_icon_container_new (void)
{
GtkWidget *new;
- gtk_widget_push_visual (gdk_imlib_get_visual ());
- gtk_widget_push_colormap (gdk_imlib_get_colormap ());
+ gtk_widget_push_visual (gdk_rgb_get_visual ());
+ gtk_widget_push_colormap (gdk_rgb_get_cmap ());
new = gtk_type_new (gnome_icon_container_get_type ());
@@ -2460,8 +2462,8 @@ setup_icon_in_container (GnomeIconContainer *container,
}
void
-gnome_icon_container_add_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data)
@@ -2476,7 +2478,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
priv = container->priv;
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_position (new_icon, container, x, y);
world_to_grid (container, x, y, &grid_x, &grid_y);
@@ -2496,7 +2498,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_auto:
+ * gnome_icon_container_add_pixbuf_auto:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2506,8 +2508,8 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
* empty spot available.
**/
void
-gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_auto (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -2519,7 +2521,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
g_return_if_fail (image != NULL);
g_return_if_fail (text != NULL);
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_grid_add_auto (container->priv->grid, new_icon, &grid_x, &grid_y);
@@ -2532,7 +2534,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_with_layout:
+ * gnome_icon_container_add_pixbuf_with_layout:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2546,8 +2548,8 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
* has not been added); %TRUE otherwise.
**/
gboolean
-gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_with_layout (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout *layout)
@@ -2560,7 +2562,7 @@ gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
g_return_val_if_fail (layout != NULL, FALSE);
if (gnome_icon_container_layout_get_position (layout, text, &x, &y)) {
- gnome_icon_container_add_imlib (container, image,
+ gnome_icon_container_add_pixbuf (container, image,
text, x, y, data);
return TRUE;
} else {
diff --git a/libnautilus-private/gnome-icon-container.h b/libnautilus-private/gnome-icon-container.h
index dd61eaad9..320db2759 100644
--- a/libnautilus-private/gnome-icon-container.h
+++ b/libnautilus-private/gnome-icon-container.h
@@ -25,6 +25,7 @@
#define _GNOME_ICON_CONTAINER_H
#include <libgnomeui/libgnomeui.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
enum _GnomeIconContainerIconMode {
GNOME_ICON_CONTAINER_NORMAL_ICONS,
@@ -100,25 +101,25 @@ void gnome_icon_container_set_editable
gboolean gnome_icon_container_get_editable
(GnomeIconContainer *view);
-void gnome_icon_container_add_imlib (GnomeIconContainer *view,
- GdkImlibImage *image,
+void gnome_icon_container_add_pixbuf (GnomeIconContainer *view,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data);
-void gnome_icon_container_add_imlib_auto
+void gnome_icon_container_add_pixbuf_auto
(GnomeIconContainer *view,
- GdkImlibImage *image,
+ GdkPixbuf *image,
const gchar *text,
gpointer data);
-gboolean gnome_icon_container_add_imlib_with_layout
+gboolean gnome_icon_container_add_pixbuf_with_layout
(GnomeIconContainer
- *container,
- GdkImlibImage *image,
+ *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout
- *layout);
+ *layout);
gpointer gnome_icon_container_get_icon_data
(GnomeIconContainer *view,
diff --git a/libnautilus-private/gtkflist.c b/libnautilus-private/gtkflist.c
index 2b5abdd87..d163af921 100644
--- a/libnautilus-private/gtkflist.c
+++ b/libnautilus-private/gtkflist.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus-private/gtkflist.h b/libnautilus-private/gtkflist.h
index ac216deaf..329fddc94 100644
--- a/libnautilus-private/gtkflist.h
+++ b/libnautilus-private/gtkflist.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus-private/gtkscrollframe.c b/libnautilus-private/gtkscrollframe.c
index 6f41835ec..2a55ab656 100644
--- a/libnautilus-private/gtkscrollframe.c
+++ b/libnautilus-private/gtkscrollframe.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-private/gtkscrollframe.h b/libnautilus-private/gtkscrollframe.h
index facb59dac..ec726b8fa 100644
--- a/libnautilus-private/gtkscrollframe.h
+++ b/libnautilus-private/gtkscrollframe.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-private/libnautilus.h b/libnautilus-private/libnautilus.h
index 021ae6126..c54ac1055 100644
--- a/libnautilus-private/libnautilus.h
+++ b/libnautilus-private/libnautilus.h
@@ -31,5 +31,6 @@
#include <libnautilus/nautilus.h>
#include <libnautilus/ntl-view-client.h>
#include <libnautilus/ntl-meta-view-client.h>
+#include <libnautilus/ntl-content-view-client.h>
#endif
diff --git a/libnautilus-private/nautilus-scroll-frame.c b/libnautilus-private/nautilus-scroll-frame.c
index 6f41835ec..2a55ab656 100644
--- a/libnautilus-private/nautilus-scroll-frame.c
+++ b/libnautilus-private/nautilus-scroll-frame.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-private/nautilus-scroll-frame.h b/libnautilus-private/nautilus-scroll-frame.h
index facb59dac..ec726b8fa 100644
--- a/libnautilus-private/nautilus-scroll-frame.h
+++ b/libnautilus-private/nautilus-scroll-frame.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus-private/ntl-content-view-client.c b/libnautilus-private/ntl-content-view-client.c
index 23f82da18..b654bfa52 100644
--- a/libnautilus-private/ntl-content-view-client.c
+++ b/libnautilus-private/ntl-content-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_content_view_client_class_init (NautilusContentViewClientCl
GtkType
nautilus_content_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusContentViewClient",
- sizeof (NautilusContentViewClient),
- sizeof (NautilusContentViewClientClass),
- (GtkClassInitFunc) nautilus_content_view_client_class_init,
- (GtkObjectInitFunc) nautilus_content_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusContentViewClient",
+ sizeof (NautilusContentViewClient),
+ sizeof (NautilusContentViewClientClass),
+ (GtkClassInitFunc) nautilus_content_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_content_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
diff --git a/libnautilus-private/ntl-meta-view-client.c b/libnautilus-private/ntl-meta-view-client.c
index b413b5976..585106504 100644
--- a/libnautilus-private/ntl-meta-view-client.c
+++ b/libnautilus-private/ntl-meta-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_meta_view_client_class_init (NautilusMetaViewClientClass *k
GtkType
nautilus_meta_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusMetaViewClient",
- sizeof (NautilusMetaViewClient),
- sizeof (NautilusMetaViewClientClass),
- (GtkClassInitFunc) nautilus_meta_view_client_class_init,
- (GtkObjectInitFunc) nautilus_meta_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusMetaViewClient",
+ sizeof (NautilusMetaViewClient),
+ sizeof (NautilusMetaViewClientClass),
+ (GtkClassInitFunc) nautilus_meta_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_meta_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
@@ -105,8 +107,9 @@ void
nautilus_meta_view_set_label(NautilusMetaViewClient *mvc, const char *label)
{
GnomeObject *ctl;
+ GnomePropertyBag *bag;
- ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(client));
+ ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(mvc));
/* set description */
bag = gnome_control_get_property_bag(GNOME_CONTROL(ctl));
gnome_property_bag_add(bag, "label", "string", label, label, _("Label"),
diff --git a/libnautilus-private/ntl-view-client.c b/libnautilus-private/ntl-view-client.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus-private/ntl-view-client.c
+++ b/libnautilus-private/ntl-view-client.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/libnautilus/Makefile.am b/libnautilus/Makefile.am
index 741e33fb9..5cd2e798b 100644
--- a/libnautilus/Makefile.am
+++ b/libnautilus/Makefile.am
@@ -28,6 +28,8 @@ libnautilus_la_SOURCES=$(nautilus_idl_sources) \
gtkflist.c \
gtkscrollframe.c
+libnautilus_la_LDFLAGS=$(GNOME_LIBS) $(GNORBA_LIBS) $(GDK_PIXBUF_LIBS)
+
$(nautilus_idl_sources): nautilus_idl_stamp
nautilus_idl_stamp: $(top_srcdir)/idl/nautilus.idl
diff --git a/libnautilus/gnome-icon-container.c b/libnautilus/gnome-icon-container.c
index 48a9d5ef5..421c36858 100644
--- a/libnautilus/gnome-icon-container.c
+++ b/libnautilus/gnome-icon-container.c
@@ -26,6 +26,8 @@
#endif
#include <gnome.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
#include "gnome-icon-container-private.h"
#include "gnome-icon-container-dnd.h"
@@ -165,8 +167,8 @@ icon_new (GnomeIconContainer *container,
}
static GnomeIconContainerIcon *
-icon_new_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+icon_new_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -179,8 +181,8 @@ icon_new_imlib (GnomeIconContainer *container,
new->image_item
= gnome_canvas_item_new (new->item,
- gnome_canvas_image_get_type (),
- "image", image,
+ gnome_canvas_pixbuf_get_type (),
+ "pixbuf", image,
"x", (gdouble) 0,
"y", (gdouble) 0,
NULL);
@@ -2362,8 +2364,8 @@ gnome_icon_container_new (void)
{
GtkWidget *new;
- gtk_widget_push_visual (gdk_imlib_get_visual ());
- gtk_widget_push_colormap (gdk_imlib_get_colormap ());
+ gtk_widget_push_visual (gdk_rgb_get_visual ());
+ gtk_widget_push_colormap (gdk_rgb_get_cmap ());
new = gtk_type_new (gnome_icon_container_get_type ());
@@ -2460,8 +2462,8 @@ setup_icon_in_container (GnomeIconContainer *container,
}
void
-gnome_icon_container_add_imlib (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data)
@@ -2476,7 +2478,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
priv = container->priv;
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_position (new_icon, container, x, y);
world_to_grid (container, x, y, &grid_x, &grid_y);
@@ -2496,7 +2498,7 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_auto:
+ * gnome_icon_container_add_pixbuf_auto:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2506,8 +2508,8 @@ gnome_icon_container_add_imlib (GnomeIconContainer *container,
* empty spot available.
**/
void
-gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_auto (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data)
{
@@ -2519,7 +2521,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
g_return_if_fail (image != NULL);
g_return_if_fail (text != NULL);
- new_icon = icon_new_imlib (container, image, text, data);
+ new_icon = icon_new_pixbuf (container, image, text, data);
icon_grid_add_auto (container->priv->grid, new_icon, &grid_x, &grid_y);
@@ -2532,7 +2534,7 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
}
/**
- * gnome_icon_container_add_imlib_with_layout:
+ * gnome_icon_container_add_pixbuf_with_layout:
* @container: A GnomeIconContainer
* @image: Image of the icon to add
* @text: Caption
@@ -2546,8 +2548,8 @@ gnome_icon_container_add_imlib_auto (GnomeIconContainer *container,
* has not been added); %TRUE otherwise.
**/
gboolean
-gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
- GdkImlibImage *image,
+gnome_icon_container_add_pixbuf_with_layout (GnomeIconContainer *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout *layout)
@@ -2560,7 +2562,7 @@ gnome_icon_container_add_imlib_with_layout (GnomeIconContainer *container,
g_return_val_if_fail (layout != NULL, FALSE);
if (gnome_icon_container_layout_get_position (layout, text, &x, &y)) {
- gnome_icon_container_add_imlib (container, image,
+ gnome_icon_container_add_pixbuf (container, image,
text, x, y, data);
return TRUE;
} else {
diff --git a/libnautilus/gnome-icon-container.h b/libnautilus/gnome-icon-container.h
index dd61eaad9..320db2759 100644
--- a/libnautilus/gnome-icon-container.h
+++ b/libnautilus/gnome-icon-container.h
@@ -25,6 +25,7 @@
#define _GNOME_ICON_CONTAINER_H
#include <libgnomeui/libgnomeui.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
enum _GnomeIconContainerIconMode {
GNOME_ICON_CONTAINER_NORMAL_ICONS,
@@ -100,25 +101,25 @@ void gnome_icon_container_set_editable
gboolean gnome_icon_container_get_editable
(GnomeIconContainer *view);
-void gnome_icon_container_add_imlib (GnomeIconContainer *view,
- GdkImlibImage *image,
+void gnome_icon_container_add_pixbuf (GnomeIconContainer *view,
+ GdkPixbuf *image,
const gchar *text,
gint x, gint y,
gpointer data);
-void gnome_icon_container_add_imlib_auto
+void gnome_icon_container_add_pixbuf_auto
(GnomeIconContainer *view,
- GdkImlibImage *image,
+ GdkPixbuf *image,
const gchar *text,
gpointer data);
-gboolean gnome_icon_container_add_imlib_with_layout
+gboolean gnome_icon_container_add_pixbuf_with_layout
(GnomeIconContainer
- *container,
- GdkImlibImage *image,
+ *container,
+ GdkPixbuf *image,
const gchar *text,
gpointer data,
const GnomeIconContainerLayout
- *layout);
+ *layout);
gpointer gnome_icon_container_get_icon_data
(GnomeIconContainer *view,
diff --git a/libnautilus/gtkflist.c b/libnautilus/gtkflist.c
index 2b5abdd87..d163af921 100644
--- a/libnautilus/gtkflist.c
+++ b/libnautilus/gtkflist.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus/gtkflist.h b/libnautilus/gtkflist.h
index ac216deaf..329fddc94 100644
--- a/libnautilus/gtkflist.h
+++ b/libnautilus/gtkflist.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* File list widget for the Midnight Commander
*
* Copyright (C) 1999 The Free Software Foundation
diff --git a/libnautilus/gtkscrollframe.c b/libnautilus/gtkscrollframe.c
index 6f41835ec..2a55ab656 100644
--- a/libnautilus/gtkscrollframe.c
+++ b/libnautilus/gtkscrollframe.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus/gtkscrollframe.h b/libnautilus/gtkscrollframe.h
index facb59dac..ec726b8fa 100644
--- a/libnautilus/gtkscrollframe.h
+++ b/libnautilus/gtkscrollframe.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
diff --git a/libnautilus/libnautilus.h b/libnautilus/libnautilus.h
index 021ae6126..c54ac1055 100644
--- a/libnautilus/libnautilus.h
+++ b/libnautilus/libnautilus.h
@@ -31,5 +31,6 @@
#include <libnautilus/nautilus.h>
#include <libnautilus/ntl-view-client.h>
#include <libnautilus/ntl-meta-view-client.h>
+#include <libnautilus/ntl-content-view-client.h>
#endif
diff --git a/libnautilus/nautilus-content-view-frame.c b/libnautilus/nautilus-content-view-frame.c
index 23f82da18..b654bfa52 100644
--- a/libnautilus/nautilus-content-view-frame.c
+++ b/libnautilus/nautilus-content-view-frame.c
@@ -55,24 +55,26 @@ static void nautilus_content_view_client_class_init (NautilusContentViewClientCl
GtkType
nautilus_content_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusContentViewClient",
- sizeof (NautilusContentViewClient),
- sizeof (NautilusContentViewClientClass),
- (GtkClassInitFunc) nautilus_content_view_client_class_init,
- (GtkObjectInitFunc) nautilus_content_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusContentViewClient",
+ sizeof (NautilusContentViewClient),
+ sizeof (NautilusContentViewClientClass),
+ (GtkClassInitFunc) nautilus_content_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_content_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
diff --git a/libnautilus/nautilus-meta-view-frame.c b/libnautilus/nautilus-meta-view-frame.c
index b413b5976..585106504 100644
--- a/libnautilus/nautilus-meta-view-frame.c
+++ b/libnautilus/nautilus-meta-view-frame.c
@@ -55,24 +55,26 @@ static void nautilus_meta_view_client_class_init (NautilusMetaViewClientClass *k
GtkType
nautilus_meta_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusMetaViewClient",
- sizeof (NautilusMetaViewClient),
- sizeof (NautilusMetaViewClientClass),
- (GtkClassInitFunc) nautilus_meta_view_client_class_init,
- (GtkObjectInitFunc) nautilus_meta_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusMetaViewClient",
+ sizeof (NautilusMetaViewClient),
+ sizeof (NautilusMetaViewClientClass),
+ (GtkClassInitFunc) nautilus_meta_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_meta_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
@@ -105,8 +107,9 @@ void
nautilus_meta_view_set_label(NautilusMetaViewClient *mvc, const char *label)
{
GnomeObject *ctl;
+ GnomePropertyBag *bag;
- ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(client));
+ ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(mvc));
/* set description */
bag = gnome_control_get_property_bag(GNOME_CONTROL(ctl));
gnome_property_bag_add(bag, "label", "string", label, label, _("Label"),
diff --git a/libnautilus/nautilus-view-frame.c b/libnautilus/nautilus-view-frame.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus/nautilus-view-frame.c
+++ b/libnautilus/nautilus-view-frame.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/libnautilus/nautilus-view.c b/libnautilus/nautilus-view.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus/nautilus-view.c
+++ b/libnautilus/nautilus-view.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/libnautilus/ntl-content-view-client.c b/libnautilus/ntl-content-view-client.c
index 23f82da18..b654bfa52 100644
--- a/libnautilus/ntl-content-view-client.c
+++ b/libnautilus/ntl-content-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_content_view_client_class_init (NautilusContentViewClientCl
GtkType
nautilus_content_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusContentViewClient",
- sizeof (NautilusContentViewClient),
- sizeof (NautilusContentViewClientClass),
- (GtkClassInitFunc) nautilus_content_view_client_class_init,
- (GtkObjectInitFunc) nautilus_content_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusContentViewClient",
+ sizeof (NautilusContentViewClient),
+ sizeof (NautilusContentViewClientClass),
+ (GtkClassInitFunc) nautilus_content_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_content_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
diff --git a/libnautilus/ntl-content-view-frame.c b/libnautilus/ntl-content-view-frame.c
index 23f82da18..b654bfa52 100644
--- a/libnautilus/ntl-content-view-frame.c
+++ b/libnautilus/ntl-content-view-frame.c
@@ -55,24 +55,26 @@ static void nautilus_content_view_client_class_init (NautilusContentViewClientCl
GtkType
nautilus_content_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusContentViewClient",
- sizeof (NautilusContentViewClient),
- sizeof (NautilusContentViewClientClass),
- (GtkClassInitFunc) nautilus_content_view_client_class_init,
- (GtkObjectInitFunc) nautilus_content_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusContentViewClient",
+ sizeof (NautilusContentViewClient),
+ sizeof (NautilusContentViewClientClass),
+ (GtkClassInitFunc) nautilus_content_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_content_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
diff --git a/libnautilus/ntl-meta-view-client.c b/libnautilus/ntl-meta-view-client.c
index b413b5976..585106504 100644
--- a/libnautilus/ntl-meta-view-client.c
+++ b/libnautilus/ntl-meta-view-client.c
@@ -55,24 +55,26 @@ static void nautilus_meta_view_client_class_init (NautilusMetaViewClientClass *k
GtkType
nautilus_meta_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusMetaViewClient",
- sizeof (NautilusMetaViewClient),
- sizeof (NautilusMetaViewClientClass),
- (GtkClassInitFunc) nautilus_meta_view_client_class_init,
- (GtkObjectInitFunc) nautilus_meta_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusMetaViewClient",
+ sizeof (NautilusMetaViewClient),
+ sizeof (NautilusMetaViewClientClass),
+ (GtkClassInitFunc) nautilus_meta_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_meta_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
@@ -105,8 +107,9 @@ void
nautilus_meta_view_set_label(NautilusMetaViewClient *mvc, const char *label)
{
GnomeObject *ctl;
+ GnomePropertyBag *bag;
- ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(client));
+ ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(mvc));
/* set description */
bag = gnome_control_get_property_bag(GNOME_CONTROL(ctl));
gnome_property_bag_add(bag, "label", "string", label, label, _("Label"),
diff --git a/libnautilus/ntl-meta-view-frame.c b/libnautilus/ntl-meta-view-frame.c
index b413b5976..585106504 100644
--- a/libnautilus/ntl-meta-view-frame.c
+++ b/libnautilus/ntl-meta-view-frame.c
@@ -55,24 +55,26 @@ static void nautilus_meta_view_client_class_init (NautilusMetaViewClientClass *k
GtkType
nautilus_meta_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusMetaViewClient",
- sizeof (NautilusMetaViewClient),
- sizeof (NautilusMetaViewClientClass),
- (GtkClassInitFunc) nautilus_meta_view_client_class_init,
- (GtkObjectInitFunc) nautilus_meta_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusMetaViewClient",
+ sizeof (NautilusMetaViewClient),
+ sizeof (NautilusMetaViewClientClass),
+ (GtkClassInitFunc) nautilus_meta_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_meta_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (nautilus_view_client_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
static void
@@ -105,8 +107,9 @@ void
nautilus_meta_view_set_label(NautilusMetaViewClient *mvc, const char *label)
{
GnomeObject *ctl;
+ GnomePropertyBag *bag;
- ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(client));
+ ctl = nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(mvc));
/* set description */
bag = gnome_control_get_property_bag(GNOME_CONTROL(ctl));
gnome_property_bag_add(bag, "label", "string", label, label, _("Label"),
diff --git a/libnautilus/ntl-view-client.c b/libnautilus/ntl-view-client.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus/ntl-view-client.c
+++ b/libnautilus/ntl-view-client.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/libnautilus/ntl-view-frame.c b/libnautilus/ntl-view-frame.c
index 4d2f771bb..35c478db3 100644
--- a/libnautilus/ntl-view-frame.c
+++ b/libnautilus/ntl-view-frame.c
@@ -60,21 +60,21 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
POA_Nautilus_View__epv libnautilus_Nautilus_View_epv =
{
- NULL, /* _private */
- (gpointer) & impl_Nautilus_View_save_state,
- (gpointer) & impl_Nautilus_View_load_state,
- (gpointer) & impl_Nautilus_View_notify_location_change,
- (gpointer) & impl_Nautilus_View_show_properties,
- (gpointer) & impl_Nautilus_View_notify_selection_change
+ NULL, /* _private */
+ (gpointer) & impl_Nautilus_View_save_state,
+ (gpointer) & impl_Nautilus_View_load_state,
+ (gpointer) & impl_Nautilus_View_notify_location_change,
+ (gpointer) & impl_Nautilus_View_show_properties,
+ (gpointer) & impl_Nautilus_View_notify_selection_change
};
static PortableServer_ServantBase__epv base_epv = { NULL};
static POA_Nautilus_View__vepv impl_Nautilus_View_vepv =
{
- &base_epv,
- NULL,
- &libnautilus_Nautilus_View_epv
+ &base_epv,
+ NULL,
+ &libnautilus_Nautilus_View_epv
};
static void
@@ -120,80 +120,83 @@ impl_Nautilus_View_notify_selection_change(impl_POA_Nautilus_View * servant,
static void
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);
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+ void (*servant_destroy_func)(PortableServer_Servant servant, CORBA_Environment *ev);
- CORBA_exception_init(&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;
+ 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;
- servant_destroy_func((PortableServer_Servant) servant, &ev);
- g_free(servant);
- CORBA_exception_free(&ev);
+ servant_destroy_func((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
}
static GnomeObject *
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);
+ 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 = view_class->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
- newservant->view = view;
- servant_init_func((PortableServer_Servant) newservant, ev);
+ servant_init_func = view_class->servant_init_func;
+ newservant = g_new0(impl_POA_Nautilus_View, 1);
+ newservant->servant.vepv = view_class->vepv;
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
+ newservant->view = view;
+ servant_init_func((PortableServer_Servant) newservant, ev);
- retval = gnome_object_new_from_servant(newservant);
+ retval = gnome_object_new_from_servant(newservant);
- gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_View__destroy), newservant);
- return retval;
+ return retval;
}
static void nautilus_view_client_init (NautilusViewClient *view);
static void nautilus_view_client_destroy (NautilusViewClient *view);
static void nautilus_view_client_class_init (NautilusViewClientClass *klass);
static void nautilus_view_client_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_get_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id);
+ GtkArg *arg,
+ guint arg_id);
static void nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition);
+ GtkRequisition *requisition);
static void nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
+ GtkAllocation *allocation);
GtkType
nautilus_view_client_get_type (void)
{
- static GtkType view_client_type = 0;
-
- if (!view_client_type) {
- const GtkTypeInfo view_client_info = {
- "NautilusViewClient",
- sizeof (NautilusViewClient),
- sizeof (NautilusViewClientClass),
- (GtkClassInitFunc) nautilus_view_client_class_init,
- (GtkObjectInitFunc) nautilus_view_client_init,
- /* reserved_1 */ NULL,
- /* reserved_2 */ NULL,
- (GtkClassInitFunc) NULL,
- };
-
- view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
- }
+ static GtkType view_client_type = 0;
+
+ if (!view_client_type)
+ {
+ const GtkTypeInfo view_client_info =
+ {
+ "NautilusViewClient",
+ sizeof (NautilusViewClient),
+ sizeof (NautilusViewClientClass),
+ (GtkClassInitFunc) nautilus_view_client_class_init,
+ (GtkObjectInitFunc) nautilus_view_client_init,
+ /* reserved_1 */ NULL,
+ /* reserved_2 */ NULL,
+ (GtkClassInitFunc) NULL,
+ };
+
+ view_client_type = gtk_type_unique (gtk_bin_get_type(), &view_client_info);
+ }
- return view_client_type;
+ return view_client_type;
}
#if 0
@@ -208,13 +211,13 @@ gtk_marshal_NONE__BOXED_OBJECT_BOXED (GtkObject * object,
gpointer func_data,
GtkArg * args)
{
- GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
- rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
- (*rfunc) (object,
- GTK_VALUE_BOXED (args[0]),
- GTK_VALUE_OBJECT (args[1]),
- GTK_VALUE_BOXED (args[2]),
- func_data);
+ GtkSignal_NONE__BOXED_OBJECT_BOXED rfunc;
+ rfunc = (GtkSignal_NONE__BOXED_OBJECT_BOXED) func;
+ (*rfunc) (object,
+ GTK_VALUE_BOXED (args[0]),
+ GTK_VALUE_OBJECT (args[1]),
+ GTK_VALUE_BOXED (args[2]),
+ func_data);
}
#endif
@@ -249,29 +252,29 @@ nautilus_view_client_class_init (NautilusViewClientClass *klass)
gtk_marshal_NONE__BOXED,
GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
klass->view_client_signals[i++] = gtk_signal_new("load_state",
- GTK_RUN_LAST,
+ GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusViewClientClass, load_state),
gtk_marshal_NONE__STRING,
GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("save_state",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
- gtk_marshal_NONE__STRING,
- GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, save_state),
+ gtk_marshal_NONE__STRING,
+ GTK_TYPE_NONE, 1, GTK_TYPE_STRING);
klass->view_client_signals[i++] = gtk_signal_new("show_properties",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, show_properties),
+ gtk_marshal_NONE__NONE,
+ GTK_TYPE_NONE, 0);
klass->view_client_signals[i++] = gtk_signal_new("notify_selection_change",
- GTK_RUN_LAST,
- object_class->type,
- GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
- gtk_marshal_NONE__BOXED,
- GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
+ GTK_RUN_LAST,
+ object_class->type,
+ GTK_SIGNAL_OFFSET (NautilusViewClientClass, notify_selection_change),
+ gtk_marshal_NONE__BOXED,
+ GTK_TYPE_NONE, 1, GTK_TYPE_BOXED);
gtk_object_class_add_signals (object_class, klass->view_client_signals, i);
}
@@ -316,7 +319,7 @@ nautilus_view_client_destroy (NautilusViewClient *view)
void
nautilus_view_client_request_location_change(NautilusViewClient *view,
- Nautilus_NavigationRequestInfo *loc)
+ Nautilus_NavigationRequestInfo *loc)
{
CORBA_Environment ev;
@@ -400,7 +403,7 @@ nautilus_view_client_request_status_change (NautilusViewClient *view,
static void
nautilus_view_client_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+ GtkRequisition *requisition)
{
GtkBin *bin;
@@ -422,7 +425,7 @@ nautilus_view_client_size_request (GtkWidget *widget,
static void
nautilus_view_client_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
+ GtkAllocation *allocation)
{
GtkBin *bin;
GtkAllocation child_allocation;
diff --git a/src/Makefile.am b/src/Makefile.am
index b40307480..45861c369 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,13 +4,15 @@ bin_PROGRAMS=nautilus
INCLUDES=-I$(top_srcdir) -I$(top_builddir) \
$(BONOBO_CFLAGS) $(GNORBA_CFLAGS) \
- $(GNOMEUI_CFLAGS) -DVERSION="\"$(VERSION)\""
+ $(GNOMEUI_CFLAGS) $(GDK_PIXBUF_CFLAGS) \
+ -DVERSION="\"$(VERSION)\""
LDADD= file-manager/libntl-file-manager.la \
../libnautilus/libnautilus.la \
$(BONOBO_LIBS) \
$(GNORBA_LIBS) \
- $(GNOMEUI_LIBS)
+ $(GNOMEUI_LIBS) \
+ $(GDK_PIXBUF_LIBS)
nautilus_SOURCES= \
ntl-content-view.h \
diff --git a/src/explorer-location-bar.c b/src/explorer-location-bar.c
index a1547c4f2..6a24acf70 100644
--- a/src/explorer-location-bar.c
+++ b/src/explorer-location-bar.c
@@ -132,11 +132,13 @@ drag_data_get_cb (GtkWidget *widget,
}
static void
-location_changed (ExplorerLocationBar *location_bar)
+location_changed (ExplorerLocationBar *location_bar, const char *uri_string)
{
g_return_if_fail (location_bar != NULL);
g_return_if_fail (EXPLORER_IS_LOCATION_BAR
(location_bar));
+
+ gtk_entry_set_text(GTK_ENTRY(location_bar->entry), uri_string);
}
static void
diff --git a/src/explorer-location-bar.h b/src/explorer-location-bar.h
index f430a88d6..2775ef47b 100644
--- a/src/explorer-location-bar.h
+++ b/src/explorer-location-bar.h
@@ -42,7 +42,7 @@ typedef struct _ExplorerLocationBar ExplorerLocationBar;
struct _ExplorerLocationBarClass {
GtkHBoxClass parent_class;
- void (*location_changed) (ExplorerLocationBar *,
+ void (*location_changed) (ExplorerLocationBar *location_bar,
const char *uri_string);
};
typedef struct _ExplorerLocationBarClass ExplorerLocationBarClass;
diff --git a/src/file-manager/Makefile.am b/src/file-manager/Makefile.am
index c1f650709..23ef77ec7 100644
--- a/src/file-manager/Makefile.am
+++ b/src/file-manager/Makefile.am
@@ -1,3 +1,40 @@
noinst_LTLIBRARIES=libntl-file-manager.la
-libntl_file_manager_la_SOURCES=dummy.c
+INCLUDES=-I$(top_srcdir) -I$(top_builddir) \
+ $(BONOBO_CFLAGS) $(GNORBA_CFLAGS) \
+ $(GNOMEUI_CFLAGS) -DVERSION="\"$(VERSION)\"" \
+ $(GDK_PIXBUF_CFLAGS)
+dfos_corba_srcs= \
+ GNOME_Desktop_FileOperationService.h \
+ GNOME_Desktop_FileOperationService-stubs.c \
+ GNOME_Desktop_FileOperationService-skels.c \
+ GNOME_Desktop_FileOperationService-common.c
+
+libntl_file_manager_la_SOURCES= \
+ fm-icon-cache.c \
+ fm-icon-cache.h \
+ desktop-window.c \
+ desktop-window.h \
+ dfos-corba.c \
+ dfos-corba.h \
+ dfos-xfer-progress-dialog.c \
+ dfos-xfer-progress-dialog.h \
+ dfos-xfer.c \
+ dfos-xfer.h \
+ dfos.c \
+ dfos.h \
+ $(dfos_corba_srcs) \
+ fm-directory-view.h \
+ fm-directory-view.c
+
+dfos-corba.h: GNOME_Desktop_FileOperationService.h
+
+$(dfos_corba_srcs): dfos_corba_stamp
+
+dfos_corba_stamp: $(top_srcdir)/idl/GNOME_Desktop_FileOperationService.idl
+ orbit-idl $(top_srcdir)/idl/GNOME_Desktop_FileOperationService.idl
+ touch dfos_corba_stamp
+
+BUILT_SOURCES=$(dfos_corba_srcs)
+
+CLEAN_FILES=$(dfos_corba_srcs) dfos_corba_stamp
diff --git a/src/file-manager/desktop-window.c b/src/file-manager/desktop-window.c
index ebd3a9f6b..bc7973f5e 100644
--- a/src/file-manager/desktop-window.c
+++ b/src/file-manager/desktop-window.c
@@ -21,7 +21,7 @@
*/
#include <config.h>
-#include "desktopwindow.h"
+#include "desktop-window.h"
#include <libgnomeui/gnome-winhints.h>
static void desktop_window_class_init (DesktopWindowClass *class);
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index ab7ad92ea..4bba7e50f 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -1,5 +1,5 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* explorer-directory-view.c
+/* fm-directory-view.c
*
* Copyright (C) 1999 Free Software Foundaton
*
@@ -27,12 +27,15 @@
#include <gnome.h>
-#include "gnome-icon-container.h"
-#include "gtkflist.h"
+#define FM_DEBUG(x)
-#include "explorer-debug.h"
-#include "explorer-directory-view.h"
-#include "explorer-icon-manager.h"
+#include <libnautilus/libnautilus.h>
+#include <libnautilus/gnome-icon-container.h>
+#include <libnautilus/gtkflist.h>
+
+#include "fm-directory-view.h"
+#include "fm-icon-cache.h"
+#include "fm-public-api.h"
enum {
@@ -46,19 +49,21 @@ enum {
#define DISPLAY_TIMEOUT_INTERVAL 500
-
-static GtkScrollFrameClass *parent_class = NULL;
+
+static NautilusViewClientClass *parent_class = NULL;
static guint signals[LAST_SIGNAL] = { 0 };
-
+static FMIconCache *icm = NULL;
+
static void
-display_selection_info (ExplorerDirectoryView *view,
+display_selection_info (FMDirectoryView *view,
GList *selection)
{
GnomeVFSFileSize size;
guint count;
- gchar *count_string, *size_string, *msg;
+ gchar *size_string, msg[32];
GList *p;
+ Nautilus_StatusRequestInfo sri;
count = 0;
size = 0;
@@ -71,7 +76,6 @@ display_selection_info (ExplorerDirectoryView *view,
}
if (count == 0) {
- gnome_appbar_set_status (view->app_bar, "");
return;
}
@@ -103,38 +107,33 @@ display_selection_info (ExplorerDirectoryView *view,
}
}
- if (count == 1)
- count_string = g_strdup (_("1 file."));
- else
- count_string = g_strdup_printf (_("%d files."), count);
-
- msg = g_strdup_printf (_("%s selected in %s"),
- size_string, count_string);
- gnome_appbar_set_status (view->app_bar, msg);
+ g_snprintf (msg, sizeof(msg), _("%d %s selected in %s"),
+ count, (count==1)?_("files"):_("file"), size_string);
+ memset(&sri, 0, sizeof(sri));
+ sri.status_string = msg;
+ nautilus_view_client_request_status_change(NAUTILUS_VIEW_CLIENT(view), &sri);
- g_free (count_string);
g_free (size_string);
- g_free (msg);
}
/* GnomeIconContainer handling. */
static gboolean
-mode_uses_icon_container (ExplorerDirectoryViewMode mode)
+mode_uses_icon_container (FMDirectoryViewMode mode)
{
- return (mode == EXPLORER_DIRECTORY_VIEW_MODE_ICONS
- || mode == EXPLORER_DIRECTORY_VIEW_MODE_SMALLICONS);
+ return (mode == FM_DIRECTORY_VIEW_MODE_ICONS
+ || mode == FM_DIRECTORY_VIEW_MODE_SMALLICONS);
}
static gboolean
-view_has_icon_container (ExplorerDirectoryView *view)
+view_has_icon_container (FMDirectoryView *view)
{
return mode_uses_icon_container (view->mode);
}
static GnomeIconContainer *
-get_icon_container (ExplorerDirectoryView *view)
+get_icon_container (FMDirectoryView *view)
{
GtkBin *bin;
@@ -151,13 +150,13 @@ get_icon_container (ExplorerDirectoryView *view)
static gint
display_icon_container_selection_info_idle_cb (gpointer data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
GnomeIconContainer *icon_container;
GList *selection;
puts (__FUNCTION__);
- view = EXPLORER_DIRECTORY_VIEW (data);
+ view = FM_DIRECTORY_VIEW (data);
icon_container = get_icon_container (view);
selection = gnome_icon_container_get_selection (icon_container);
@@ -173,9 +172,9 @@ static void
icon_container_selection_changed_cb (GnomeIconContainer *container,
gpointer data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
- view = EXPLORER_DIRECTORY_VIEW (data);
+ view = FM_DIRECTORY_VIEW (data);
if (view->display_selection_idle_id == 0)
view->display_selection_idle_id = gtk_idle_add
(display_icon_container_selection_info_idle_cb,
@@ -188,12 +187,12 @@ icon_container_activate_cb (GnomeIconContainer *icon_container,
gpointer icon_data,
gpointer data)
{
- ExplorerDirectoryView *directory_view;
+ FMDirectoryView *directory_view;
GnomeVFSURI *new_uri;
GnomeVFSFileInfo *info;
info = (GnomeVFSFileInfo *) icon_data;
- directory_view = EXPLORER_DIRECTORY_VIEW (data);
+ directory_view = FM_DIRECTORY_VIEW (data);
new_uri = gnome_vfs_uri_append_path (directory_view->uri, name);
gtk_signal_emit (GTK_OBJECT (directory_view),
@@ -202,25 +201,25 @@ icon_container_activate_cb (GnomeIconContainer *icon_container,
}
static void
-add_to_icon_container (ExplorerDirectoryView *view,
- ExplorerIconManager *icon_manager,
+add_to_icon_container (FMDirectoryView *view,
+ FMIconCache *icon_manager,
GnomeIconContainer *icon_container,
GnomeVFSFileInfo *info,
gboolean with_layout)
{
- GdkImlibImage *image;
+ GdkPixbuf *image;
- image = explorer_icon_manager_get_icon_for_info (icon_manager, info);
+ image = fm_icon_cache_get_icon (icon_manager, info);
if (! with_layout || view->icon_layout == NULL) {
- gnome_icon_container_add_imlib_auto (icon_container,
+ gnome_icon_container_add_pixbuf_auto (icon_container,
image,
info->name,
info);
} else {
gboolean result;
- result = gnome_icon_container_add_imlib_with_layout
+ result = gnome_icon_container_add_pixbuf_with_layout
(icon_container, image, info->name, info,
view->icon_layout);
if (! result)
@@ -230,17 +229,16 @@ add_to_icon_container (ExplorerDirectoryView *view,
}
static void
-load_icon_container (ExplorerDirectoryView *view,
+load_icon_container (FMDirectoryView *view,
GnomeIconContainer *icon_container)
{
gnome_icon_container_clear (icon_container);
if (view->directory_list != NULL) {
GnomeVFSDirectoryListPosition *position;
- ExplorerIconManager *icon_manager;
- icon_manager = explorer_application_get_icon_manager
- (view->application);
+ if (!icm)
+ icm = fm_icon_cache_new(NULL);
position = gnome_vfs_directory_list_get_first_position
(view->directory_list);
@@ -250,7 +248,7 @@ load_icon_container (ExplorerDirectoryView *view,
info = gnome_vfs_directory_list_get
(view->directory_list, position);
- add_to_icon_container (view, icon_manager,
+ add_to_icon_container (view, icm,
icon_container, info, TRUE);
position = gnome_vfs_directory_list_position_next
@@ -261,7 +259,7 @@ load_icon_container (ExplorerDirectoryView *view,
}
static GnomeIconContainer *
-create_icon_container (ExplorerDirectoryView *view)
+create_icon_container (FMDirectoryView *view)
{
GnomeIconContainer *icon_container;
@@ -285,8 +283,8 @@ create_icon_container (ExplorerDirectoryView *view)
}
static void
-setup_icon_container (ExplorerDirectoryView *view,
- ExplorerDirectoryViewMode mode)
+setup_icon_container (FMDirectoryView *view,
+ FMDirectoryViewMode mode)
{
GnomeIconContainer *icon_container;
@@ -303,7 +301,7 @@ setup_icon_container (ExplorerDirectoryView *view,
icon_container = get_icon_container (view);
}
- if (mode == EXPLORER_DIRECTORY_VIEW_MODE_ICONS)
+ if (mode == FM_DIRECTORY_VIEW_MODE_ICONS)
gnome_icon_container_set_icon_mode
(icon_container, GNOME_ICON_CONTAINER_NORMAL_ICONS);
else
@@ -315,20 +313,20 @@ setup_icon_container (ExplorerDirectoryView *view,
/* GtkFList handling. */
static gboolean
-mode_uses_flist (ExplorerDirectoryViewMode mode)
+mode_uses_flist (FMDirectoryViewMode mode)
{
- return (mode == EXPLORER_DIRECTORY_VIEW_MODE_DETAILED
- || mode == EXPLORER_DIRECTORY_VIEW_MODE_CUSTOM);
+ return (mode == FM_DIRECTORY_VIEW_MODE_DETAILED
+ || mode == FM_DIRECTORY_VIEW_MODE_CUSTOM);
}
static gboolean
-view_has_flist (ExplorerDirectoryView *view)
+view_has_flist (FMDirectoryView *view)
{
return mode_uses_flist (view->mode);
}
static GtkFList *
-get_flist (ExplorerDirectoryView *view)
+get_flist (FMDirectoryView *view)
{
GtkBin *bin;
@@ -345,11 +343,11 @@ get_flist (ExplorerDirectoryView *view)
static gint
display_flist_selection_info_idle_cb (gpointer data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
GtkFList *flist;
GList *selection;
- view = EXPLORER_DIRECTORY_VIEW (data);
+ view = FM_DIRECTORY_VIEW (data);
flist = get_flist (view);
selection = gtk_flist_get_selection (flist);
@@ -365,9 +363,9 @@ static void
flist_selection_changed_cb (GtkFList *flist,
gpointer data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
- view = EXPLORER_DIRECTORY_VIEW (data);
+ view = FM_DIRECTORY_VIEW (data);
if (view->display_selection_idle_id == 0)
view->display_selection_idle_id
= gtk_idle_add (display_flist_selection_info_idle_cb,
@@ -379,12 +377,12 @@ flist_activate_cb (GtkFList *flist,
gpointer entry_data,
gpointer data)
{
- ExplorerDirectoryView *directory_view;
+ FMDirectoryView *directory_view;
GnomeVFSURI *new_uri;
GnomeVFSFileInfo *info;
info = (GnomeVFSFileInfo *) entry_data;
- directory_view = EXPLORER_DIRECTORY_VIEW (data);
+ directory_view = FM_DIRECTORY_VIEW (data);
new_uri = gnome_vfs_uri_append_path (directory_view->uri, info->name);
gtk_signal_emit (GTK_OBJECT (directory_view),
@@ -393,7 +391,7 @@ flist_activate_cb (GtkFList *flist,
}
static void
-add_to_flist (ExplorerIconManager *icon_manager,
+add_to_flist (FMIconCache *icon_manager,
GtkFList *flist,
GnomeVFSFileInfo *info)
{
@@ -409,7 +407,7 @@ add_to_flist (ExplorerIconManager *icon_manager,
}
static GtkFList *
-create_flist (ExplorerDirectoryView *view)
+create_flist (FMDirectoryView *view)
{
GtkFList *flist;
gchar *titles[] = {
@@ -436,10 +434,10 @@ create_flist (ExplorerDirectoryView *view)
if (view->directory_list != NULL) {
GnomeVFSDirectoryListPosition *position;
- ExplorerIconManager *icon_manager;
+ FMIconCache *icon_manager;
- icon_manager = explorer_application_get_icon_manager
- (view->application);
+ if(!icm)
+ icm = icon_manager = fm_icon_cache_new(NULL);
position = gnome_vfs_directory_list_get_first_position
(view->directory_list);
@@ -464,8 +462,8 @@ create_flist (ExplorerDirectoryView *view)
}
static void
-setup_flist (ExplorerDirectoryView *view,
- ExplorerDirectoryViewMode mode)
+setup_flist (FMDirectoryView *view,
+ FMDirectoryViewMode mode)
{
GtkFList *flist;
@@ -485,56 +483,21 @@ setup_flist (ExplorerDirectoryView *view,
/* Signals. */
static void
-real_open_failed (ExplorerDirectoryView *directory_view,
- GnomeVFSResult result)
-{
- g_return_if_fail (directory_view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (directory_view));
-}
-
-static void
-real_open_done (ExplorerDirectoryView *directory_view)
+real_location_change(NautilusViewClient *directory_view, Nautilus_NavigationInfo *nav_context)
{
- g_return_if_fail (directory_view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (directory_view));
+ fm_directory_view_load_uri(FM_DIRECTORY_VIEW(directory_view), nav_context->requested_uri);
}
-static void
-real_load_failed (ExplorerDirectoryView *directory_view,
- GnomeVFSResult result)
-{
- g_return_if_fail (directory_view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (directory_view));
-}
-
-static void
-real_load_done (ExplorerDirectoryView *directory_view)
-{
- g_return_if_fail (directory_view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (directory_view));
-}
-
-static void
-real_activate_uri (ExplorerDirectoryView *directory_view,
- const GnomeVFSURI *uri,
- const gchar *mime_type)
-{
- g_return_if_fail (directory_view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (directory_view));
- g_return_if_fail (uri != NULL);
-}
-
-
/* GtkObject methods. */
static void
destroy (GtkObject *object)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
- EXPLORER_DEBUG (("Entering function."));
+ FM_DEBUG (("Entering function."));
- view = EXPLORER_DIRECTORY_VIEW (object);
+ view = FM_DIRECTORY_VIEW (object);
if (view->directory_list != NULL)
gnome_vfs_directory_list_destroy (view->directory_list);
@@ -543,7 +506,7 @@ destroy (GtkObject *object)
gnome_vfs_uri_unref (view->uri);
if (view->vfs_async_handle != NULL) {
- EXPLORER_DEBUG (("Cancelling VFS operation."));
+ FM_DEBUG (("Cancelling VFS operation."));
gnome_vfs_async_cancel (view->vfs_async_handle);
}
@@ -559,79 +522,22 @@ destroy (GtkObject *object)
static void
-class_init (ExplorerDirectoryViewClass *class)
+class_init (FMDirectoryViewClass *class)
{
GtkObjectClass *object_class;
object_class = GTK_OBJECT_CLASS (class);
- parent_class = gtk_type_class (gtk_scroll_frame_get_type ());
-
- signals[OPEN_FAILED] =
- gtk_signal_new ("open_failed",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (ExplorerDirectoryViewClass,
- open_failed),
- gtk_marshal_NONE__INT,
- GTK_TYPE_NONE, 0,
- GTK_TYPE_INT);
- signals[OPEN_DONE] =
- gtk_signal_new ("open_done",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (ExplorerDirectoryViewClass,
- open_done),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
- signals[LOAD_FAILED] =
- gtk_signal_new ("load_failed",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (ExplorerDirectoryViewClass,
- load_failed),
- gtk_marshal_NONE__INT,
- GTK_TYPE_NONE, 0,
- GTK_TYPE_INT);
- signals[LOAD_DONE] =
- gtk_signal_new ("load_done",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (ExplorerDirectoryViewClass,
- load_done),
- gtk_marshal_NONE__NONE,
- GTK_TYPE_NONE, 0);
- signals[ACTIVATE_URI] =
- gtk_signal_new ("activate_uri",
- GTK_RUN_FIRST,
- object_class->type,
- GTK_SIGNAL_OFFSET (ExplorerDirectoryViewClass,
- load_done),
- gtk_marshal_NONE__POINTER_POINTER,
- GTK_TYPE_NONE, 2,
- GTK_TYPE_POINTER,
- GTK_TYPE_STRING);
-
- gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
-
+ parent_class = gtk_type_class (gtk_type_parent(object_class->type));
object_class->destroy = destroy;
- class->open_failed = real_open_failed;
- class->open_done = real_open_done;
- class->load_failed = real_load_failed;
- class->load_done = real_load_done;
- class->activate_uri = real_activate_uri;
+ parent_class->notify_location_change = real_location_change;
}
static void
-init (ExplorerDirectoryView *directory_view)
+init (FMDirectoryView *directory_view)
{
- GtkScrollFrame *scroll_frame;
-
- directory_view->application = NULL;
- directory_view->app_bar = NULL;
-
- directory_view->mode = EXPLORER_DIRECTORY_VIEW_MODE_NONE;
+ directory_view->mode = FM_DIRECTORY_VIEW_MODE_NONE;
directory_view->uri = NULL;
directory_view->vfs_async_handle = NULL;
@@ -647,21 +553,21 @@ init (ExplorerDirectoryView *directory_view)
directory_view->display_selection_idle_id = 0;
- scroll_frame = GTK_SCROLL_FRAME (directory_view);
-
- gtk_scroll_frame_set_hadjustment (scroll_frame, NULL);
- gtk_scroll_frame_set_vadjustment (scroll_frame, NULL);
- gtk_scroll_frame_set_policy (scroll_frame,
+ directory_view->scroll_frame = gtk_scroll_frame_new(NULL, NULL);
+ gtk_scroll_frame_set_policy (GTK_SCROLL_FRAME(directory_view->scroll_frame),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_scroll_frame_set_shadow_type (scroll_frame, GTK_SHADOW_IN);
+ gtk_scroll_frame_set_shadow_type (GTK_SCROLL_FRAME(directory_view->scroll_frame), GTK_SHADOW_IN);
+ gtk_widget_show(directory_view->scroll_frame);
+ gtk_container_add(GTK_CONTAINER(directory_view), directory_view->scroll_frame);
+ fm_directory_view_set_mode (directory_view, FM_DIRECTORY_VIEW_MODE_ICONS);
}
/* Utility functions. */
static void
-stop_load (ExplorerDirectoryView *view)
+stop_load (FMDirectoryView *view)
{
if (view->vfs_async_handle != NULL) {
gnome_vfs_async_cancel (view->vfs_async_handle);
@@ -679,16 +585,17 @@ stop_load (ExplorerDirectoryView *view)
static void
-display_pending_entries (ExplorerDirectoryView *view)
+display_pending_entries (FMDirectoryView *view)
{
- ExplorerIconManager *icon_manager;
+ FMIconCache *icon_manager;
GnomeIconContainer *icon_container;
GtkFList *flist;
guint i;
- EXPLORER_DEBUG (("Adding %d entries.", view->entries_to_display));
+ FM_DEBUG (("Adding %d entries.", view->entries_to_display));
- icon_manager = explorer_application_get_icon_manager (view->application);
+ if(!icm)
+ icm = fm_icon_cache_new(NULL);
if (view_has_icon_container (view)) {
icon_container = get_icon_container (view);
@@ -720,22 +627,23 @@ display_pending_entries (ExplorerDirectoryView *view)
view->entries_to_display = 0;
- EXPLORER_DEBUG (("Done."));
+ FM_DEBUG (("Done."));
}
static void
-display_icons_not_in_layout (ExplorerDirectoryView *view)
+display_icons_not_in_layout (FMDirectoryView *view)
{
- ExplorerIconManager *icon_manager;
+ FMIconCache *icon_manager;
GnomeIconContainer *icon_container;
GList *p;
if (view->icons_not_in_layout == NULL)
return;
- EXPLORER_DEBUG (("Adding entries not in layout."));
+ FM_DEBUG (("Adding entries not in layout."));
- icon_manager = explorer_application_get_icon_manager (view->application);
+ if (!icm)
+ icm = icon_manager = fm_icon_cache_new(NULL);
icon_container = get_icon_container (view);
g_return_if_fail (icon_container != NULL);
@@ -748,10 +656,10 @@ display_icons_not_in_layout (ExplorerDirectoryView *view)
info = p->data;
add_to_icon_container (view, icon_manager,
icon_container, info, FALSE);
- EXPLORER_DEBUG (("Adding `%s'", info->name));
+ FM_DEBUG (("Adding `%s'", info->name));
}
- EXPLORER_DEBUG (("Done with entries not in layout."));
+ FM_DEBUG (("Done with entries not in layout."));
g_list_free (view->icons_not_in_layout);
view->icons_not_in_layout = NULL;
@@ -760,15 +668,15 @@ display_icons_not_in_layout (ExplorerDirectoryView *view)
static gboolean
display_timeout_cb (gpointer data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
- EXPLORER_DEBUG (("Entering function"));
+ FM_DEBUG (("Entering function"));
- view = EXPLORER_DIRECTORY_VIEW (data);
+ view = FM_DIRECTORY_VIEW (data);
display_pending_entries (view);
- EXPLORER_DEBUG (("Done"));
+ FM_DEBUG (("Done"));
return TRUE;
}
@@ -776,7 +684,7 @@ display_timeout_cb (gpointer data)
/* Set up the base URI for Drag & Drop operations. */
static void
-setup_base_uri (ExplorerDirectoryView *view)
+setup_base_uri (FMDirectoryView *view)
{
GnomeIconContainer *icon_container;
gchar *txt_uri;
@@ -799,12 +707,12 @@ directory_load_cb (GnomeVFSAsyncHandle *handle,
guint entries_read,
gpointer callback_data)
{
- ExplorerDirectoryView *view;
+ FMDirectoryView *view;
- EXPLORER_DEBUG (("Entering function, %d entries read: %s",
+ FM_DEBUG (("Entering function, %d entries read: %s",
entries_read, gnome_vfs_result_to_string (result)));
- view = EXPLORER_DIRECTORY_VIEW (callback_data);
+ view = FM_DIRECTORY_VIEW (callback_data);
if (view->directory_list == NULL) {
if (result == GNOME_VFS_OK || result == GNOME_VFS_ERROR_EOF) {
@@ -853,30 +761,30 @@ directory_load_cb (GnomeVFSAsyncHandle *handle,
gboolean
-explorer_directory_view_is_valid_mode (ExplorerDirectoryViewMode mode)
+fm_directory_view_is_valid_mode (FMDirectoryViewMode mode)
{
switch (mode) {
- case EXPLORER_DIRECTORY_VIEW_MODE_ICONS:
- case EXPLORER_DIRECTORY_VIEW_MODE_SMALLICONS:
- case EXPLORER_DIRECTORY_VIEW_MODE_DETAILED:
- case EXPLORER_DIRECTORY_VIEW_MODE_CUSTOM:
+ case FM_DIRECTORY_VIEW_MODE_ICONS:
+ case FM_DIRECTORY_VIEW_MODE_SMALLICONS:
+ case FM_DIRECTORY_VIEW_MODE_DETAILED:
+ case FM_DIRECTORY_VIEW_MODE_CUSTOM:
return TRUE;
- case EXPLORER_DIRECTORY_VIEW_MODE_NONE:
+ case FM_DIRECTORY_VIEW_MODE_NONE:
default:
return FALSE;
}
}
GtkType
-explorer_directory_view_get_type (void)
+fm_directory_view_get_type (void)
{
static GtkType directory_view_type = 0;
if (directory_view_type == 0) {
static GtkTypeInfo directory_view_info = {
- "ExplorerDirectoryView",
- sizeof (ExplorerDirectoryView),
- sizeof (ExplorerDirectoryViewClass),
+ "FMDirectoryView",
+ sizeof (FMDirectoryView),
+ sizeof (FMDirectoryViewClass),
(GtkClassInitFunc) class_init,
(GtkObjectInitFunc) init,
/* reserved_1 */ NULL,
@@ -885,7 +793,7 @@ explorer_directory_view_get_type (void)
};
directory_view_type
- = gtk_type_unique (gtk_scroll_frame_get_type (),
+ = gtk_type_unique (nautilus_content_view_client_get_type (),
&directory_view_info);
}
@@ -893,55 +801,41 @@ explorer_directory_view_get_type (void)
}
GtkWidget *
-explorer_directory_view_new (ExplorerApplication *application,
- GnomeAppBar *app_bar,
- ExplorerDirectoryViewMode mode)
+fm_directory_view_new (void)
{
- ExplorerDirectoryView *new;
-
- g_return_val_if_fail (application != NULL, NULL);
- g_return_val_if_fail (explorer_directory_view_is_valid_mode (mode), NULL);
-
- new = gtk_type_new (explorer_directory_view_get_type ());
-
- new->application = application;
- new->app_bar = app_bar;
-
- explorer_directory_view_set_mode (new, mode);
-
- return GTK_WIDGET (new);
+ return gtk_widget_new(fm_directory_view_get_type (), NULL);
}
-ExplorerDirectoryViewMode
-explorer_directory_view_get_mode (ExplorerDirectoryView *view)
+FMDirectoryViewMode
+fm_directory_view_get_mode (FMDirectoryView *view)
{
- g_return_val_if_fail (view != NULL, EXPLORER_DIRECTORY_VIEW_MODE_ICONS);
- g_return_val_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view),
- EXPLORER_DIRECTORY_VIEW_MODE_ICONS);
+ g_return_val_if_fail (view != NULL, FM_DIRECTORY_VIEW_MODE_ICONS);
+ g_return_val_if_fail (FM_IS_DIRECTORY_VIEW (view),
+ FM_DIRECTORY_VIEW_MODE_ICONS);
return view->mode;
}
void
-explorer_directory_view_set_mode (ExplorerDirectoryView *view,
- ExplorerDirectoryViewMode mode)
+fm_directory_view_set_mode (FMDirectoryView *view,
+ FMDirectoryViewMode mode)
{
g_return_if_fail (view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view));
+ g_return_if_fail (FM_IS_DIRECTORY_VIEW (view));
if (view->mode == mode)
return;
switch (mode) {
- case EXPLORER_DIRECTORY_VIEW_MODE_ICONS:
- case EXPLORER_DIRECTORY_VIEW_MODE_SMALLICONS:
+ case FM_DIRECTORY_VIEW_MODE_ICONS:
+ case FM_DIRECTORY_VIEW_MODE_SMALLICONS:
setup_icon_container (view, mode);
break;
- case EXPLORER_DIRECTORY_VIEW_MODE_DETAILED:
- case EXPLORER_DIRECTORY_VIEW_MODE_CUSTOM:
+ case FM_DIRECTORY_VIEW_MODE_DETAILED:
+ case FM_DIRECTORY_VIEW_MODE_CUSTOM:
setup_flist (view, mode);
break;
- case EXPLORER_DIRECTORY_VIEW_MODE_NONE:
+ case FM_DIRECTORY_VIEW_MODE_NONE:
break;
}
@@ -950,8 +844,8 @@ explorer_directory_view_set_mode (ExplorerDirectoryView *view,
void
-explorer_directory_view_load_uri (ExplorerDirectoryView *view,
- const GnomeVFSURI *uri)
+fm_directory_view_load_uri (FMDirectoryView *view,
+ const char *uri)
{
static GnomeVFSDirectorySortRule sort_rules[] = {
GNOME_VFS_DIRECTORY_SORT_DIRECTORYFIRST,
@@ -961,14 +855,14 @@ explorer_directory_view_load_uri (ExplorerDirectoryView *view,
GnomeVFSResult result;
g_return_if_fail (view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view));
+ g_return_if_fail (FM_IS_DIRECTORY_VIEW (view));
g_return_if_fail (uri != NULL);
- explorer_directory_view_stop (view);
+ fm_directory_view_stop (view);
if (view->uri != NULL)
gnome_vfs_uri_unref (view->uri);
- view->uri = gnome_vfs_uri_dup (uri);
+ view->uri = gnome_vfs_uri_new (uri);
result = gnome_vfs_async_load_directory_uri
(&view->vfs_async_handle, /* handle */
@@ -993,10 +887,10 @@ explorer_directory_view_load_uri (ExplorerDirectoryView *view,
}
void
-explorer_directory_view_stop (ExplorerDirectoryView *view)
+fm_directory_view_stop (FMDirectoryView *view)
{
g_return_if_fail (view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view));
+ g_return_if_fail (FM_IS_DIRECTORY_VIEW (view));
if (view->vfs_async_handle == NULL)
return;
@@ -1015,10 +909,10 @@ explorer_directory_view_stop (ExplorerDirectoryView *view)
used when adding new files to the view. */
GnomeIconContainerLayout *
-explorer_directory_view_get_icon_layout (ExplorerDirectoryView *view)
+fm_directory_view_get_icon_layout (FMDirectoryView *view)
{
g_return_val_if_fail (view != NULL, NULL);
- g_return_val_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view), NULL);
+ g_return_val_if_fail (FM_IS_DIRECTORY_VIEW (view), NULL);
if (mode_uses_icon_container (view->mode)) {
GnomeIconContainer *icon_container;
@@ -1031,7 +925,7 @@ explorer_directory_view_get_icon_layout (ExplorerDirectoryView *view)
}
void
-explorer_directory_view_set_icon_layout (ExplorerDirectoryView *view,
+fm_directory_view_set_icon_layout (FMDirectoryView *view,
const GnomeIconContainerLayout *layout)
{
g_return_if_fail (view != NULL);
@@ -1040,7 +934,7 @@ explorer_directory_view_set_icon_layout (ExplorerDirectoryView *view,
}
void
-explorer_directory_view_line_up_icons (ExplorerDirectoryView *view)
+fm_directory_view_line_up_icons (FMDirectoryView *view)
{
GnomeIconContainer *container;
@@ -1055,8 +949,8 @@ explorer_directory_view_line_up_icons (ExplorerDirectoryView *view)
void
-explorer_directory_view_sort (ExplorerDirectoryView *view,
- ExplorerDirectoryViewSortType sort_type)
+fm_directory_view_sort (FMDirectoryView *view,
+ FMDirectoryViewSortType sort_type)
{
GnomeVFSDirectorySortRule *rules;
GnomeIconContainer *icon_container;
@@ -1064,26 +958,26 @@ explorer_directory_view_sort (ExplorerDirectoryView *view,
#define ALLOC_RULES(n) alloca ((n) * sizeof (GnomeVFSDirectorySortRule))
g_return_if_fail (view != NULL);
- g_return_if_fail (EXPLORER_IS_DIRECTORY_VIEW (view));
+ g_return_if_fail (FM_IS_DIRECTORY_VIEW (view));
if (view->directory_list == NULL)
return;
switch (sort_type) {
- case EXPLORER_DIRECTORY_VIEW_SORT_BYNAME:
+ case FM_DIRECTORY_VIEW_SORT_BYNAME:
rules = ALLOC_RULES (3);
rules[0] = GNOME_VFS_DIRECTORY_SORT_DIRECTORYFIRST;
rules[1] = GNOME_VFS_DIRECTORY_SORT_BYNAME;
rules[2] = GNOME_VFS_DIRECTORY_SORT_NONE;
break;
- case EXPLORER_DIRECTORY_VIEW_SORT_BYSIZE:
+ case FM_DIRECTORY_VIEW_SORT_BYSIZE:
rules = ALLOC_RULES (4);
rules[0] = GNOME_VFS_DIRECTORY_SORT_DIRECTORYFIRST;
rules[1] = GNOME_VFS_DIRECTORY_SORT_BYSIZE;
rules[2] = GNOME_VFS_DIRECTORY_SORT_BYNAME;
rules[3] = GNOME_VFS_DIRECTORY_SORT_NONE;
break;
- case EXPLORER_DIRECTORY_VIEW_SORT_BYTYPE:
+ case FM_DIRECTORY_VIEW_SORT_BYTYPE:
rules = ALLOC_RULES (4);
rules[0] = GNOME_VFS_DIRECTORY_SORT_DIRECTORYFIRST;
rules[1] = GNOME_VFS_DIRECTORY_SORT_BYMIMETYPE;
@@ -1091,12 +985,12 @@ explorer_directory_view_sort (ExplorerDirectoryView *view,
rules[3] = GNOME_VFS_DIRECTORY_SORT_NONE;
break;
default:
- g_warning ("explorer_directory_view_sort: Unknown sort mode %d\n",
+ g_warning ("fm_directory_view_sort: Unknown sort mode %d\n",
sort_type);
return;
}
- EXPLORER_DEBUG (("Sorting."));
+ FM_DEBUG (("Sorting."));
gnome_vfs_directory_list_sort (view->directory_list, FALSE, rules);
/* This will make sure icons are re-laid out according to the new
diff --git a/src/file-manager/fm-directory-view.h b/src/file-manager/fm-directory-view.h
index dff73428b..9b861ecdb 100644
--- a/src/file-manager/fm-directory-view.h
+++ b/src/file-manager/fm-directory-view.h
@@ -1,5 +1,5 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* explorer-directory-view.h
+/* fm-directory-view.h
*
* Copyright (C) 1999 Free Software Foundaton
*
@@ -20,51 +20,46 @@
*
* Author: Ettore Perazzoli
*/
-#ifndef __EXPLORER_DIRECTORY_VIEW_H__
-#define __EXPLORER_DIRECTORY_VIEW_H__
+#ifndef __FM_DIRECTORY_VIEW_H__
+#define __FM_DIRECTORY_VIEW_H__
#include <libgnomevfs/gnome-vfs.h>
-#include "gnome-icon-container.h"
-#include "gtkscrollframe.h"
+#include <libnautilus/libnautilus.h>
+#include <libnautilus/gnome-icon-container.h>
+#include <libnautilus/gtkscrollframe.h>
-enum _ExplorerDirectoryViewMode {
- EXPLORER_DIRECTORY_VIEW_MODE_NONE, /* Internal */
- EXPLORER_DIRECTORY_VIEW_MODE_ICONS,
- EXPLORER_DIRECTORY_VIEW_MODE_SMALLICONS,
- EXPLORER_DIRECTORY_VIEW_MODE_DETAILED,
- EXPLORER_DIRECTORY_VIEW_MODE_CUSTOM
+enum _FMDirectoryViewMode {
+ FM_DIRECTORY_VIEW_MODE_NONE, /* Internal */
+ FM_DIRECTORY_VIEW_MODE_ICONS,
+ FM_DIRECTORY_VIEW_MODE_SMALLICONS,
+ FM_DIRECTORY_VIEW_MODE_DETAILED,
+ FM_DIRECTORY_VIEW_MODE_CUSTOM
};
-typedef enum _ExplorerDirectoryViewMode ExplorerDirectoryViewMode;
+typedef enum _FMDirectoryViewMode FMDirectoryViewMode;
-enum _ExplorerDirectoryViewSortType {
- EXPLORER_DIRECTORY_VIEW_SORT_BYNAME,
- EXPLORER_DIRECTORY_VIEW_SORT_BYSIZE,
- EXPLORER_DIRECTORY_VIEW_SORT_BYTYPE
+enum _FMDirectoryViewSortType {
+ FM_DIRECTORY_VIEW_SORT_BYNAME,
+ FM_DIRECTORY_VIEW_SORT_BYSIZE,
+ FM_DIRECTORY_VIEW_SORT_BYTYPE
};
-typedef enum _ExplorerDirectoryViewSortType ExplorerDirectoryViewSortType;
+typedef enum _FMDirectoryViewSortType FMDirectoryViewSortType;
-typedef struct _ExplorerDirectoryView ExplorerDirectoryView;
-typedef struct _ExplorerDirectoryViewClass ExplorerDirectoryViewClass;
+typedef struct _FMDirectoryView FMDirectoryView;
+typedef struct _FMDirectoryViewClass FMDirectoryViewClass;
-#include "explorer-application.h"
+#define FM_TYPE_DIRECTORY_VIEW (fm_directory_view_get_type ())
+#define FM_DIRECTORY_VIEW(obj) (GTK_CHECK_CAST ((obj), FM_TYPE_DIRECTORY_VIEW, FMDirectoryView))
+#define FM_DIRECTORY_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), FM_TYPE_DIRECTORY_VIEW, FMDirectoryViewClass))
+#define FM_IS_DIRECTORY_VIEW(obj) (GTK_CHECK_TYPE ((obj), FM_TYPE_DIRECTORY_VIEW))
+#define FM_IS_DIRECTORY_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), FM_TYPE_DIRECTORY_VIEW))
-
-#define EXPLORER_TYPE_DIRECTORY_VIEW (explorer_directory_view_get_type ())
-#define EXPLORER_DIRECTORY_VIEW(obj) (GTK_CHECK_CAST ((obj), EXPLORER_TYPE_DIRECTORY_VIEW, ExplorerDirectoryView))
-#define EXPLORER_DIRECTORY_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), EXPLORER_TYPE_DIRECTORY_VIEW, ExplorerDirectoryViewClass))
-#define EXPLORER_IS_DIRECTORY_VIEW(obj) (GTK_CHECK_TYPE ((obj), EXPLORER_TYPE_DIRECTORY_VIEW))
-#define EXPLORER_IS_DIRECTORY_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), EXPLORER_TYPE_DIRECTORY_VIEW))
-
-struct _ExplorerDirectoryView {
- GtkScrollFrame scroll_frame;
-
- ExplorerApplication *application;
- GnomeAppBar *app_bar;
+struct _FMDirectoryView {
+ FMDirectoryViewMode mode;
- ExplorerDirectoryViewMode mode;
+ GtkWidget *scroll_frame;
GnomeVFSDirectoryList *directory_list;
GnomeVFSDirectoryListPosition current_position;
@@ -83,49 +78,36 @@ struct _ExplorerDirectoryView {
gint display_selection_idle_id;
};
-struct _ExplorerDirectoryViewClass {
- GtkScrollFrameClass parent_class;
-
- /* Signals go here */
- void (*open_failed) (ExplorerDirectoryView *directory_view,
- GnomeVFSResult result);
- void (*open_done) (ExplorerDirectoryView *directory_view);
- void (*load_failed) (ExplorerDirectoryView *directory_view,
- GnomeVFSResult result);
- void (*load_done) (ExplorerDirectoryView *directory_view);
- void (*activate_uri) (ExplorerDirectoryView *directory_view,
- const GnomeVFSURI *uri,
- const gchar *mime_type);
+struct _FMDirectoryViewClass {
+ NautilusContentViewClientClass parent_class;
};
-gboolean explorer_directory_view_is_valid_mode
- (ExplorerDirectoryViewMode mode);
-
-GtkType explorer_directory_view_get_type (void);
-GtkWidget *explorer_directory_view_new (ExplorerApplication *application,
- GnomeAppBar *app_bar,
- ExplorerDirectoryViewMode mode);
-void explorer_directory_view_set_mode (ExplorerDirectoryView *view,
- ExplorerDirectoryViewMode mode);
-ExplorerDirectoryViewMode
- explorer_directory_view_get_mode (ExplorerDirectoryView *view);
-void explorer_directory_view_load_uri (ExplorerDirectoryView *view,
- const GnomeVFSURI *uri);
-void explorer_directory_view_stop (ExplorerDirectoryView *view);
+gboolean fm_directory_view_is_valid_mode
+ (FMDirectoryViewMode mode);
+
+GtkType fm_directory_view_get_type (void);
+GtkWidget *fm_directory_view_new (void);
+void fm_directory_view_set_mode (FMDirectoryView *view,
+ FMDirectoryViewMode mode);
+FMDirectoryViewMode
+ fm_directory_view_get_mode (FMDirectoryView *view);
+void fm_directory_view_load_uri (FMDirectoryView *view,
+ const char *uri);
+void fm_directory_view_stop (FMDirectoryView *view);
GnomeIconContainerLayout *
- explorer_directory_view_get_icon_layout
- (ExplorerDirectoryView *view);
-void explorer_directory_view_set_icon_layout
- (ExplorerDirectoryView *view,
+ fm_directory_view_get_icon_layout
+ (FMDirectoryView *view);
+void fm_directory_view_set_icon_layout
+ (FMDirectoryView *view,
const GnomeIconContainerLayout
- *icon_layout);
+ *icon_layout);
-void explorer_directory_view_line_up_icons
- (ExplorerDirectoryView *view);
+void fm_directory_view_line_up_icons
+ (FMDirectoryView *view);
-void explorer_directory_view_sort (ExplorerDirectoryView *view,
- ExplorerDirectoryViewSortType sort_type);
+void fm_directory_view_sort (FMDirectoryView *view,
+ FMDirectoryViewSortType sort_type);
-#endif /* __EXPLORER_DIRECTORY_VIEW_H__ */
+#endif /* __FM_DIRECTORY_VIEW_H__ */
diff --git a/src/file-manager/fm-icon-cache.c b/src/file-manager/fm-icon-cache.c
new file mode 100644
index 000000000..6c1b41a35
--- /dev/null
+++ b/src/file-manager/fm-icon-cache.c
@@ -0,0 +1,439 @@
+#include "fm-icon-cache.h"
+#include <gnome.h>
+
+#define ICON_CACHE_MAX_ENTRIES 10
+#define ICON_CACHE_SWEEP_TIMEOUT 10
+
+/* This allows us to do smarter caching */
+static guint use_counter = 0;
+
+typedef struct {
+ char *name;
+ GdkPixbuf *plain, *symlink;
+ guint last_use;
+} IconSet;
+
+typedef enum {
+ ICONSET_DIRECTORY,
+ ICONSET_DIRCLOSED,
+ ICONSET_EXECUTABLE,
+ ICONSET_REGULAR,
+ ICONSET_CORE,
+ ICONSET_SOCKET,
+ ICONSET_FIFO,
+ ICONSET_CHARDEVICE,
+ ICONSET_BLOCKDEVICE,
+ ICONSET_BROKENSYMLINK,
+ ICONSET_SPECIAL_LAST
+} SpecialIconSetType;
+
+struct _FMIconCache {
+ char *theme_name;
+ GHashTable *name_to_image;
+
+ IconSet special_isets[ICONSET_SPECIAL_LAST];
+
+ GdkPixbuf *symlink_overlay;
+
+ guint sweep_timer;
+};
+
+static IconSet *
+icon_set_new (const gchar *name)
+{
+ IconSet *new;
+
+ new = g_new (IconSet, 1);
+ new->name = g_strdup (name);
+ new->plain = NULL;
+ new->symlink = NULL;
+
+ return new;
+}
+
+static void
+icon_set_destroy (IconSet *icon_set, gboolean free_name)
+{
+ if (icon_set != NULL)
+ {
+ if(free_name)
+ g_free (icon_set->name);
+ if(icon_set->plain)
+ gdk_pixbuf_unref(icon_set->plain);
+ if(icon_set->symlink)
+ gdk_pixbuf_unref(icon_set->symlink);
+ }
+}
+
+FMIconCache *
+fm_icon_cache_new(const char *theme_name)
+{
+ FMIconCache *retval;
+
+ retval = g_new0(FMIconCache, 1);
+ retval->theme_name = g_strdup(theme_name);
+ retval->name_to_image = g_hash_table_new(g_str_hash, g_str_equal);
+ retval->special_isets[ICONSET_DIRECTORY].name = "i-directory.png";
+ retval->special_isets[ICONSET_DIRCLOSED].name = "i-dirclosed.png";
+ retval->special_isets[ICONSET_EXECUTABLE].name = "i-executable.png";
+ retval->special_isets[ICONSET_REGULAR].name = "i-regular.png";
+ retval->special_isets[ICONSET_CORE].name = "i-core.png";
+ retval->special_isets[ICONSET_SOCKET].name = "i-sock.png";
+ retval->special_isets[ICONSET_FIFO].name = "i-fifo.png";
+ retval->special_isets[ICONSET_CHARDEVICE].name = "i-chardev.png";
+ retval->special_isets[ICONSET_BLOCKDEVICE].name = "i-blockdev.png";
+ retval->special_isets[ICONSET_BROKENSYMLINK].name = "i-brokenlink.png";
+
+ return retval;
+}
+
+static gboolean
+fm_icon_cache_destroy_iconsets(gpointer key, gpointer value, gpointer user_data)
+{
+ IconSet *is = value;
+
+ icon_set_destroy(is, TRUE);
+
+ return TRUE;
+}
+
+static void
+fm_icon_cache_invalidate(FMIconCache *fmic)
+{
+ int i;
+ g_hash_table_foreach_remove(fmic->name_to_image, fm_icon_cache_destroy_iconsets, fmic);
+ for(i = 0; i < ICONSET_SPECIAL_LAST; i++)
+ icon_set_destroy(&fmic->special_isets[i], FALSE);
+
+ if(fmic->symlink_overlay)
+ {
+ gdk_pixbuf_unref(fmic->symlink_overlay);
+ fmic->symlink_overlay = NULL;
+ }
+}
+
+void
+fm_icon_cache_destroy(FMIconCache *fmic)
+{
+ fm_icon_cache_invalidate(fmic);
+ g_hash_table_destroy(fmic->name_to_image);
+
+ g_free(fmic->theme_name);
+ g_free(fmic);
+}
+
+static gboolean
+icon_set_possibly_free(gpointer key, gpointer value, gpointer user_data)
+{
+ IconSet *is = value;
+
+ if(is->last_use > (use_counter - ICON_CACHE_MAX_ENTRIES))
+ return FALSE;
+
+ if (is->plain && is->plain->ref_count <= 1)
+ {
+ gdk_pixbuf_unref(is->plain);
+ is->plain = NULL;
+ }
+
+ if (is->symlink && is->symlink->ref_count <= 1)
+ {
+ gdk_pixbuf_unref(is->symlink);
+ is->symlink = NULL;
+ }
+
+ if (!is->symlink && !is->plain)
+ {
+ g_free(is->name);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static gboolean
+fm_icon_cache_sweep(gpointer data)
+{
+ FMIconCache *fmic = data;
+
+ g_hash_table_foreach_remove(fmic->name_to_image, icon_set_possibly_free, NULL);
+
+ fmic->sweep_timer = 0;
+
+ return FALSE;
+}
+
+static void
+fm_icon_cache_setup_sweep(FMIconCache *fmic)
+{
+ if(fmic->sweep_timer)
+ return;
+
+ if(g_hash_table_size(fmic->name_to_image) < ICON_CACHE_MAX_ENTRIES)
+ return;
+
+ fmic->sweep_timer = g_timeout_add(ICON_CACHE_SWEEP_TIMEOUT * 1000, fm_icon_cache_sweep, fmic);
+}
+
+void
+fm_icon_cache_set_theme(FMIconCache *fmic, const char *theme_name)
+{
+ fm_icon_cache_invalidate(fmic);
+ g_free(fmic->theme_name);
+ fmic->theme_name = g_strdup(theme_name);
+}
+
+static IconSet *
+fm_icon_cache_get_icon_for_file(FMIconCache *fmic, const GnomeVFSFileInfo *info)
+{
+ IconSet *retval = NULL;
+ const char *icon_name = NULL;
+
+ if(info->mime_type)
+ icon_name = gnome_mime_get_value(info->mime_type,
+ "icon-filename");
+ if(icon_name)
+ {
+ retval = g_hash_table_lookup(fmic->name_to_image, icon_name);
+ if (!retval)
+ {
+ retval = icon_set_new(icon_name);
+ g_hash_table_insert(fmic->name_to_image, retval->name, retval);
+ }
+ }
+ else
+ {
+ /* We can't get a name, so we have to do some faking to figure out what set to load */
+ if (info->permissions & (GNOME_VFS_PERM_USER_EXEC
+ | GNOME_VFS_PERM_GROUP_EXEC
+ | GNOME_VFS_PERM_OTHER_EXEC))
+ retval = &fmic->special_isets[ICONSET_EXECUTABLE];
+ else
+ retval = &fmic->special_isets[ICONSET_REGULAR];
+ }
+
+ return retval;
+}
+
+static GdkPixbuf *
+fm_icon_cache_load_file(FMIconCache *fmic, const char *fn)
+{
+ char *file_name = NULL;
+ char cbuf[128];
+ GdkPixbuf *retval;
+
+ if(*fn != '/')
+ {
+ if(fmic->theme_name)
+ {
+ g_snprintf(cbuf, sizeof(cbuf), "nautilus/%s/%s", fmic->theme_name, fn);
+
+ file_name = gnome_pixmap_file(cbuf);
+ }
+
+ if(!file_name)
+ {
+ g_snprintf(cbuf, sizeof(cbuf), "nautilus/%s", fn);
+ file_name = gnome_pixmap_file(cbuf);
+ }
+ }
+
+ retval = gdk_pixbuf_new_from_file(file_name?file_name:fn);
+ g_free(file_name);
+
+ return retval;
+}
+
+/* Splats one on top of the other, putting the src pixbuf in the lower left corner of the dest pixbuf */
+static void
+gdk_pixbuf_composite(GdkPixbuf *dest, GdkPixbuf *src)
+{
+ guchar *dest_data;
+ int dx, dy, dw, dh, drs;
+ guchar *rgba;
+ int rrs;
+ int da;
+ int r, g, b, a;
+ int i,j;
+ guchar *imgrow;
+ guchar *dstrow;
+ int dest_has_alpha, src_has_alpha;
+
+ dw = MIN(dest->art_pixbuf->width, src->art_pixbuf->width);
+ dh = MIN(dest->art_pixbuf->width, src->art_pixbuf->width);
+ dx = dw - src->art_pixbuf->width;
+ dy = dh - src->art_pixbuf->height;
+
+ dest_has_alpha = dest->art_pixbuf->has_alpha;
+ src_has_alpha = src->art_pixbuf->has_alpha;
+
+ dest_data = dest->art_pixbuf->pixels;
+ rgba = src->art_pixbuf->pixels;
+
+ drs = dest->art_pixbuf->rowstride;
+ rrs = src->art_pixbuf->rowstride;
+
+ /* To do as few conditionals inside the loop as possible, we have four different variants of it */
+ if (dest_has_alpha)
+ {
+ if(src_has_alpha)
+ {
+ for (j = 0; j < dh; j++)
+ {
+ imgrow = rgba + j * rrs;
+ dstrow = dest_data + (dy+j) * drs + (dx*4);
+
+ for (i = 0; i < dw; i++)
+ {
+ r = *(imgrow++);
+ g = *(imgrow++);
+ b = *(imgrow++);
+ a = *(imgrow++);
+
+ da = *(dstrow+3);
+ *dstrow = (r*a + *dstrow * (da-a))>>8;
+ dstrow++;
+ *dstrow = (g*a + *dstrow * (da-a))>>8;
+ dstrow++;
+ *dstrow = (b*a + *dstrow * (da-a))>>8;
+ dstrow++;
+
+ *dstrow = (da * a)>>8;
+ dstrow++;
+ }
+ }
+ }
+ else
+ {
+ for (j = 0; j < dh; j++)
+ {
+ imgrow = rgba + j * rrs;
+ dstrow = dest_data + (dy+j) * drs + (dx*4);
+
+ for (i = 0; i < dw; i++)
+ {
+ memcpy(dstrow, imgrow, 3);
+ imgrow += 3;
+ dstrow += 3;
+
+ *dstrow = 255;
+ dstrow++;
+ }
+ }
+ }
+ }
+ else
+ {
+ if(src_has_alpha)
+ {
+ for (j = 0; j < dh; j++)
+ {
+ imgrow = rgba + j * rrs;
+ dstrow = dest_data + (dy+j) * drs + (dx*3);
+
+ for (i = 0; i < dw; i++)
+ {
+ r = *(imgrow++);
+ g = *(imgrow++);
+ b = *(imgrow++);
+ a = *(imgrow++);
+ *dstrow = (r*a + *dstrow * (256-a))>>8;
+ dstrow++;
+ *dstrow = (g*a + *dstrow * (256-a))>>8;
+ dstrow++;
+ *dstrow = (b*a + *dstrow * (256-a))>>8;
+ dstrow++;
+ }
+ }
+ }
+ else
+ {
+ for (j = 0; j < dh; j++)
+ {
+ imgrow = rgba + j * rrs;
+ dstrow = dest_data + (dy+j) * drs + (dx*3);
+
+ memcpy(dstrow, imgrow, dw);
+ }
+ }
+ }
+}
+
+static GdkPixbuf *
+fm_icon_cache_load_icon(FMIconCache *fmic, IconSet *is, gboolean is_symlink)
+{
+ GdkPixbuf *retval;
+
+ if(is_symlink)
+ retval = is->symlink;
+ else
+ retval = is->plain;
+
+ if (!retval)
+ {
+ /* need to load the file */
+ retval = fm_icon_cache_load_file(fmic, is->name);
+
+ if (is_symlink)
+ {
+ if (!fmic->symlink_overlay)
+ fmic->symlink_overlay = fm_icon_cache_load_file(fmic, "i-symlink.png");
+
+ if(fmic->symlink_overlay)
+ gdk_pixbuf_composite(retval, fmic->symlink_overlay);
+ is->symlink = retval;
+ }
+ else
+ is->plain = retval;
+ }
+
+ gdk_pixbuf_ref(retval); /* Returned value is owned by caller */
+
+ return retval;
+}
+
+GdkPixbuf *
+fm_icon_cache_get_icon(FMIconCache *fmic,
+ const GnomeVFSFileInfo *info)
+{
+ IconSet *is;
+ GdkPixbuf *retval;
+
+ g_return_val_if_fail(fmic, NULL);
+ g_return_val_if_fail(info, NULL);
+
+ switch (info->type)
+ {
+ case GNOME_VFS_FILE_TYPE_UNKNOWN:
+ case GNOME_VFS_FILE_TYPE_REGULAR:
+ default:
+ is = fm_icon_cache_get_icon_for_file(fmic, info);
+ break;
+ case GNOME_VFS_FILE_TYPE_DIRECTORY:
+ is = &fmic->special_isets[ICONSET_DIRECTORY];
+ break;
+ case GNOME_VFS_FILE_TYPE_FIFO:
+ is = &fmic->special_isets[ICONSET_FIFO];
+ break;
+ case GNOME_VFS_FILE_TYPE_SOCKET:
+ is = &fmic->special_isets[ICONSET_SOCKET];
+ break;
+ case GNOME_VFS_FILE_TYPE_CHARDEVICE:
+ is = &fmic->special_isets[ICONSET_CHARDEVICE];
+ break;
+ case GNOME_VFS_FILE_TYPE_BLOCKDEVICE:
+ is = &fmic->special_isets[ICONSET_BLOCKDEVICE];
+ break;
+ case GNOME_VFS_FILE_TYPE_BROKENSYMLINK:
+ is = &fmic->special_isets[ICONSET_BROKENSYMLINK];
+ break;
+ }
+
+ is->last_use = use_counter++;
+ retval = fm_icon_cache_load_icon(fmic, is, GNOME_VFS_FILE_INFO_SYMLINK(info));
+
+ if(retval)
+ fm_icon_cache_setup_sweep(fmic);
+
+ return retval;
+}
diff --git a/src/file-manager/fm-icon-cache.h b/src/file-manager/fm-icon-cache.h
new file mode 100644
index 000000000..4922585e8
--- /dev/null
+++ b/src/file-manager/fm-icon-cache.h
@@ -0,0 +1,16 @@
+#ifndef FM_ICON_CACHE_H
+#define FM_ICON_CACHE_H 1
+
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <libgnomevfs/gnome-vfs.h>
+#include <glib.h>
+
+typedef struct _FMIconCache FMIconCache;
+
+FMIconCache *fm_icon_cache_new(const char *theme_name);
+void fm_icon_cache_destroy(FMIconCache *fmic);
+
+void fm_icon_cache_set_theme(FMIconCache *fmic, const char *theme_name);
+GdkPixbuf *fm_icon_cache_get_icon(FMIconCache *fmic, const GnomeVFSFileInfo *info); /* Ownership of a refcount in
+ this pixbuf comes with the deal */
+#endif
diff --git a/src/file-manager/fm-public-api.h b/src/file-manager/fm-public-api.h
new file mode 100644
index 000000000..793df9fee
--- /dev/null
+++ b/src/file-manager/fm-public-api.h
@@ -0,0 +1,6 @@
+#ifndef FM_PUBLIC_API_H
+#define FM_PUBLIC_API_H 1
+
+GtkType fm_directory_view_get_type(void);
+
+#endif
diff --git a/src/file-manager/ntl-file-manager.goad b/src/file-manager/ntl-file-manager.goad
new file mode 100644
index 000000000..30ddeba11
--- /dev/null
+++ b/src/file-manager/ntl-file-manager.goad
@@ -0,0 +1,11 @@
+[nautilus_factory]
+type=exe
+repo_id=IDL:GNOME/GenericFactory:1.0
+description=Factory for history views
+location_info=nautilus
+
+[ntl_file_manager]
+type=factory
+repo_id=IDL:GNOME/Control:1.0 IDL:Nautilus/ContentView:1.0 IDL:Nautilus/View:1.0
+description=File management view
+location_info=nautilus_factory
diff --git a/src/nautilus-applicable-views.c b/src/nautilus-applicable-views.c
index 0239e8065..137c8e203 100644
--- a/src/nautilus-applicable-views.c
+++ b/src/nautilus-applicable-views.c
@@ -22,7 +22,8 @@
* Author: Elliot Lee <sopwith@redhat.com>
*
*/
-/* ntl-uri-map.c: Implementation of routines for mapping a location change request to a set of views and actual URL to be loaded. */
+/* ntl-uri-map.c: Implementation of routines for mapping a location
+ change request to a set of views and actual URL to be loaded. */
#include "ntl-uri-map.h"
#include <libgnorba/gnorba.h>
@@ -66,6 +67,19 @@ nautilus_navinfo_new(NautilusNavigationInfo *navinfo,
Find if the user has specified any default(s) globally, modify selection.
Find if the user has specified any default(s) per-page, modify selection.
*/
+ if(!strcmp(navinfo->navinfo.content_type, "text/html"))
+ {
+ navinfo->content_iid = "embeddable:explorer-html-component";
+ }
+ else if(!strcmp(navinfo->navinfo.content_type, "text/plain"))
+ {
+ navinfo->content_iid = "embeddable:text-plain";
+ }
+ else if(!strcmp(navinfo->navinfo.content_type, "special/directory"))
+ {
+ navinfo->content_iid = "ntl_file_manager";
+ }
+
return NULL;
}
@@ -74,4 +88,5 @@ void
nautilus_navinfo_free(NautilusNavigationInfo *navinfo)
{
g_free(navinfo->navinfo.content_type);
+ g_free(navinfo->content_iid);
}
diff --git a/src/nautilus-main.c b/src/nautilus-main.c
index b47dd4d11..bebaa1e80 100644
--- a/src/nautilus-main.c
+++ b/src/nautilus-main.c
@@ -29,6 +29,7 @@
#include <gnome.h>
#include <libgnorba/gnorba.h>
#include <bonobo/gnome-bonobo.h>
+#include <file-manager/fm-public-api.h>
static int window_count = 0;
static void
@@ -39,9 +40,24 @@ check_for_quit(void)
}
static GnomeObject *
-nautilus_make_object(GnomeGenericFactory *gfact, const char *goad_id, void *closure)
+nautilus_make_object(GnomeGenericFactory *gfact, const char *goad_id, gpointer closure)
{
- /* New internally implemented objects should be activated here */
+ GtkObject *theobj = NULL;
+
+ if(!strcmp(goad_id, "ntl_file_manager"))
+ theobj = gtk_object_new(fm_directory_view_get_type(), NULL);
+
+ if(!theobj)
+ return NULL;
+
+ if(GNOME_IS_OBJECT(theobj))
+ return GNOME_OBJECT(theobj);
+
+ if(NAUTILUS_IS_VIEW_CLIENT(theobj))
+ return nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(theobj));
+
+ gtk_object_destroy(theobj);
+
return NULL;
}
@@ -59,7 +75,7 @@ int main(int argc, char *argv[])
orb = gnome_CORBA_init_with_popt_table("nautilus", VERSION, &argc, argv, options, 0, &ctx, GNORBA_INIT_SERVER_FUNC, &ev);
bonobo_init(orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
- gfact = gnome_generic_factory_new("nautilus_factory", nautilus_make_object, NULL);
+ gfact = gnome_generic_factory_new_multi("nautilus_factory", nautilus_make_object, NULL);
mainwin = gtk_widget_new(nautilus_window_get_type(), "app_id", "nautilus", NULL);
bonobo_activate();
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index 006c1cb4c..c63b2fb29 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -29,6 +29,67 @@
#include "nautilus.h"
#include "explorer-location-bar.h"
+typedef struct {
+ POA_Nautilus_ViewWindow servant;
+ gpointer gnome_object;
+
+ NautilusWindow *window;
+} impl_POA_Nautilus_ViewWindow;
+
+static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
+{
+ NULL
+};
+
+static PortableServer_ServantBase__epv base_epv = { NULL};
+
+static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
+{
+ &base_epv,
+ NULL,
+ &impl_Nautilus_ViewWindow_epv
+};
+
+static void
+impl_Nautilus_ViewWindow__destroy(GnomeObject *obj, impl_POA_Nautilus_ViewWindow *servant)
+{
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ 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_ViewWindow__fini((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
+}
+
+static GnomeObject *
+impl_Nautilus_ViewWindow__create(NautilusWindow *window)
+{
+ GnomeObject *retval;
+ impl_POA_Nautilus_ViewWindow *newservant;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ newservant = g_new0(impl_POA_Nautilus_ViewWindow, 1);
+ newservant->servant.vepv = &impl_Nautilus_ViewWindow_vepv;
+ newservant->window = window;
+ POA_Nautilus_ViewWindow__init((PortableServer_Servant) newservant, &ev);
+
+ retval = gnome_object_new_from_servant(newservant);
+
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_ViewWindow__destroy), newservant);
+ CORBA_exception_free(&ev);
+
+ return retval;
+}
+
static void nautilus_window_class_init (NautilusWindowClass *klass);
static void nautilus_window_init (NautilusWindow *window);
static void nautilus_window_destroy (NautilusWindow *window);
@@ -40,8 +101,6 @@ static void nautilus_window_set_arg (GtkObject *object,
static void nautilus_window_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void nautilus_window_close (GtkWidget *widget,
- GtkWidget *window);
static void nautilus_window_goto_url (GtkWidget *widget,
const char *url,
GtkWidget *window);
@@ -66,7 +125,8 @@ nautilus_window_get_type(void)
if (!window_type)
{
- GtkTypeInfo window_info = {
+ GtkTypeInfo window_info =
+ {
"NautilusWindow",
sizeof(NautilusWindow),
sizeof(NautilusWindowClass),
@@ -152,6 +212,7 @@ nautilus_window_class_init (NautilusWindowClass *klass)
GTK_TYPE_OBJECT,
GTK_ARG_READWRITE,
ARG_CONTENT_VIEW);
+ impl_Nautilus_ViewWindow_vepv.GNOME_Unknown_epv = gnome_object_get_epv();
}
static gboolean
@@ -207,11 +268,7 @@ static void
nautilus_window_constructed(NautilusWindow *window)
{
GnomeApp *app;
- GnomeUIInfo dummy_menu[] = {
- GNOMEUIINFO_END
- };
GnomeUIInfo main_menu[] = {
- GNOMEUIINFO_SUBTREE_STOCK(N_("_Actions"), dummy_menu, GNOME_STOCK_MENU_JUMP_TO),
GNOMEUIINFO_END
};
GtkWidget *menu_hbox, *menubar, *wtmp, *statusbar;
@@ -246,7 +303,8 @@ nautilus_window_constructed(NautilusWindow *window)
gtk_option_menu_set_history(GTK_OPTION_MENU(window->option_cvtype), 0);
gtk_widget_queue_resize(window->menu_cvtype);
- /* A hacked-up version of gnome_app_set_menu() */
+ /* A hacked-up version of gnome_app_set_menu(). We need this to use our 'menubar' for the actual menubar stuff,
+ but our menu_hbox for the widget being docked. */
{
GtkWidget *dock_item;
GnomeDockItemBehavior behavior;
@@ -345,6 +403,12 @@ nautilus_window_constructed(NautilusWindow *window)
GNOME_DOCK_ITEM_BEH_LOCKED|GNOME_DOCK_ITEM_BEH_EXCLUSIVE|GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL,
GNOME_DOCK_TOP, 1, 0, 0);
gtk_widget_show(window->ent_url);
+
+ /* CORBA stuff */
+ window->ntl_viewwindow = impl_Nautilus_ViewWindow__create(window);
+ window->uih = gnome_ui_handler_new();
+ gnome_ui_handler_set_app(window->uih, app);
+ gnome_object_add_interface(GNOME_OBJECT(window->uih), window->ntl_viewwindow);
}
static void
diff --git a/src/nautilus-navigation-window.h b/src/nautilus-navigation-window.h
index e07c12d7e..73ad91dfc 100644
--- a/src/nautilus-navigation-window.h
+++ b/src/nautilus-navigation-window.h
@@ -72,6 +72,9 @@ struct _NautilusWindow {
GSList *uris_prev, *uris_next;
guint statusbar_ctx, statusbar_clear_id;
+
+ GnomeObject *ntl_viewwindow;
+ GnomeUIHandler *uih;
};
GtkType nautilus_window_get_type(void);
diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c
index 006c1cb4c..c63b2fb29 100644
--- a/src/nautilus-object-window.c
+++ b/src/nautilus-object-window.c
@@ -29,6 +29,67 @@
#include "nautilus.h"
#include "explorer-location-bar.h"
+typedef struct {
+ POA_Nautilus_ViewWindow servant;
+ gpointer gnome_object;
+
+ NautilusWindow *window;
+} impl_POA_Nautilus_ViewWindow;
+
+static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
+{
+ NULL
+};
+
+static PortableServer_ServantBase__epv base_epv = { NULL};
+
+static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
+{
+ &base_epv,
+ NULL,
+ &impl_Nautilus_ViewWindow_epv
+};
+
+static void
+impl_Nautilus_ViewWindow__destroy(GnomeObject *obj, impl_POA_Nautilus_ViewWindow *servant)
+{
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ 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_ViewWindow__fini((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
+}
+
+static GnomeObject *
+impl_Nautilus_ViewWindow__create(NautilusWindow *window)
+{
+ GnomeObject *retval;
+ impl_POA_Nautilus_ViewWindow *newservant;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ newservant = g_new0(impl_POA_Nautilus_ViewWindow, 1);
+ newservant->servant.vepv = &impl_Nautilus_ViewWindow_vepv;
+ newservant->window = window;
+ POA_Nautilus_ViewWindow__init((PortableServer_Servant) newservant, &ev);
+
+ retval = gnome_object_new_from_servant(newservant);
+
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_ViewWindow__destroy), newservant);
+ CORBA_exception_free(&ev);
+
+ return retval;
+}
+
static void nautilus_window_class_init (NautilusWindowClass *klass);
static void nautilus_window_init (NautilusWindow *window);
static void nautilus_window_destroy (NautilusWindow *window);
@@ -40,8 +101,6 @@ static void nautilus_window_set_arg (GtkObject *object,
static void nautilus_window_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void nautilus_window_close (GtkWidget *widget,
- GtkWidget *window);
static void nautilus_window_goto_url (GtkWidget *widget,
const char *url,
GtkWidget *window);
@@ -66,7 +125,8 @@ nautilus_window_get_type(void)
if (!window_type)
{
- GtkTypeInfo window_info = {
+ GtkTypeInfo window_info =
+ {
"NautilusWindow",
sizeof(NautilusWindow),
sizeof(NautilusWindowClass),
@@ -152,6 +212,7 @@ nautilus_window_class_init (NautilusWindowClass *klass)
GTK_TYPE_OBJECT,
GTK_ARG_READWRITE,
ARG_CONTENT_VIEW);
+ impl_Nautilus_ViewWindow_vepv.GNOME_Unknown_epv = gnome_object_get_epv();
}
static gboolean
@@ -207,11 +268,7 @@ static void
nautilus_window_constructed(NautilusWindow *window)
{
GnomeApp *app;
- GnomeUIInfo dummy_menu[] = {
- GNOMEUIINFO_END
- };
GnomeUIInfo main_menu[] = {
- GNOMEUIINFO_SUBTREE_STOCK(N_("_Actions"), dummy_menu, GNOME_STOCK_MENU_JUMP_TO),
GNOMEUIINFO_END
};
GtkWidget *menu_hbox, *menubar, *wtmp, *statusbar;
@@ -246,7 +303,8 @@ nautilus_window_constructed(NautilusWindow *window)
gtk_option_menu_set_history(GTK_OPTION_MENU(window->option_cvtype), 0);
gtk_widget_queue_resize(window->menu_cvtype);
- /* A hacked-up version of gnome_app_set_menu() */
+ /* A hacked-up version of gnome_app_set_menu(). We need this to use our 'menubar' for the actual menubar stuff,
+ but our menu_hbox for the widget being docked. */
{
GtkWidget *dock_item;
GnomeDockItemBehavior behavior;
@@ -345,6 +403,12 @@ nautilus_window_constructed(NautilusWindow *window)
GNOME_DOCK_ITEM_BEH_LOCKED|GNOME_DOCK_ITEM_BEH_EXCLUSIVE|GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL,
GNOME_DOCK_TOP, 1, 0, 0);
gtk_widget_show(window->ent_url);
+
+ /* CORBA stuff */
+ window->ntl_viewwindow = impl_Nautilus_ViewWindow__create(window);
+ window->uih = gnome_ui_handler_new();
+ gnome_ui_handler_set_app(window->uih, app);
+ gnome_object_add_interface(GNOME_OBJECT(window->uih), window->ntl_viewwindow);
}
static void
diff --git a/src/nautilus-object-window.h b/src/nautilus-object-window.h
index e07c12d7e..73ad91dfc 100644
--- a/src/nautilus-object-window.h
+++ b/src/nautilus-object-window.h
@@ -72,6 +72,9 @@ struct _NautilusWindow {
GSList *uris_prev, *uris_next;
guint statusbar_ctx, statusbar_clear_id;
+
+ GnomeObject *ntl_viewwindow;
+ GnomeUIHandler *uih;
};
GtkType nautilus_window_get_type(void);
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index 006c1cb4c..c63b2fb29 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -29,6 +29,67 @@
#include "nautilus.h"
#include "explorer-location-bar.h"
+typedef struct {
+ POA_Nautilus_ViewWindow servant;
+ gpointer gnome_object;
+
+ NautilusWindow *window;
+} impl_POA_Nautilus_ViewWindow;
+
+static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
+{
+ NULL
+};
+
+static PortableServer_ServantBase__epv base_epv = { NULL};
+
+static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
+{
+ &base_epv,
+ NULL,
+ &impl_Nautilus_ViewWindow_epv
+};
+
+static void
+impl_Nautilus_ViewWindow__destroy(GnomeObject *obj, impl_POA_Nautilus_ViewWindow *servant)
+{
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ 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_ViewWindow__fini((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
+}
+
+static GnomeObject *
+impl_Nautilus_ViewWindow__create(NautilusWindow *window)
+{
+ GnomeObject *retval;
+ impl_POA_Nautilus_ViewWindow *newservant;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ newservant = g_new0(impl_POA_Nautilus_ViewWindow, 1);
+ newservant->servant.vepv = &impl_Nautilus_ViewWindow_vepv;
+ newservant->window = window;
+ POA_Nautilus_ViewWindow__init((PortableServer_Servant) newservant, &ev);
+
+ retval = gnome_object_new_from_servant(newservant);
+
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_ViewWindow__destroy), newservant);
+ CORBA_exception_free(&ev);
+
+ return retval;
+}
+
static void nautilus_window_class_init (NautilusWindowClass *klass);
static void nautilus_window_init (NautilusWindow *window);
static void nautilus_window_destroy (NautilusWindow *window);
@@ -40,8 +101,6 @@ static void nautilus_window_set_arg (GtkObject *object,
static void nautilus_window_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void nautilus_window_close (GtkWidget *widget,
- GtkWidget *window);
static void nautilus_window_goto_url (GtkWidget *widget,
const char *url,
GtkWidget *window);
@@ -66,7 +125,8 @@ nautilus_window_get_type(void)
if (!window_type)
{
- GtkTypeInfo window_info = {
+ GtkTypeInfo window_info =
+ {
"NautilusWindow",
sizeof(NautilusWindow),
sizeof(NautilusWindowClass),
@@ -152,6 +212,7 @@ nautilus_window_class_init (NautilusWindowClass *klass)
GTK_TYPE_OBJECT,
GTK_ARG_READWRITE,
ARG_CONTENT_VIEW);
+ impl_Nautilus_ViewWindow_vepv.GNOME_Unknown_epv = gnome_object_get_epv();
}
static gboolean
@@ -207,11 +268,7 @@ static void
nautilus_window_constructed(NautilusWindow *window)
{
GnomeApp *app;
- GnomeUIInfo dummy_menu[] = {
- GNOMEUIINFO_END
- };
GnomeUIInfo main_menu[] = {
- GNOMEUIINFO_SUBTREE_STOCK(N_("_Actions"), dummy_menu, GNOME_STOCK_MENU_JUMP_TO),
GNOMEUIINFO_END
};
GtkWidget *menu_hbox, *menubar, *wtmp, *statusbar;
@@ -246,7 +303,8 @@ nautilus_window_constructed(NautilusWindow *window)
gtk_option_menu_set_history(GTK_OPTION_MENU(window->option_cvtype), 0);
gtk_widget_queue_resize(window->menu_cvtype);
- /* A hacked-up version of gnome_app_set_menu() */
+ /* A hacked-up version of gnome_app_set_menu(). We need this to use our 'menubar' for the actual menubar stuff,
+ but our menu_hbox for the widget being docked. */
{
GtkWidget *dock_item;
GnomeDockItemBehavior behavior;
@@ -345,6 +403,12 @@ nautilus_window_constructed(NautilusWindow *window)
GNOME_DOCK_ITEM_BEH_LOCKED|GNOME_DOCK_ITEM_BEH_EXCLUSIVE|GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL,
GNOME_DOCK_TOP, 1, 0, 0);
gtk_widget_show(window->ent_url);
+
+ /* CORBA stuff */
+ window->ntl_viewwindow = impl_Nautilus_ViewWindow__create(window);
+ window->uih = gnome_ui_handler_new();
+ gnome_ui_handler_set_app(window->uih, app);
+ gnome_object_add_interface(GNOME_OBJECT(window->uih), window->ntl_viewwindow);
}
static void
diff --git a/src/nautilus-spatial-window.h b/src/nautilus-spatial-window.h
index e07c12d7e..73ad91dfc 100644
--- a/src/nautilus-spatial-window.h
+++ b/src/nautilus-spatial-window.h
@@ -72,6 +72,9 @@ struct _NautilusWindow {
GSList *uris_prev, *uris_next;
guint statusbar_ctx, statusbar_clear_id;
+
+ GnomeObject *ntl_viewwindow;
+ GnomeUIHandler *uih;
};
GtkType nautilus_window_get_type(void);
diff --git a/src/nautilus-view-frame.c b/src/nautilus-view-frame.c
index f07e0bf5f..fd498bfe7 100644
--- a/src/nautilus-view-frame.c
+++ b/src/nautilus-view-frame.c
@@ -48,6 +48,9 @@ typedef struct {
NautilusView *view;
} impl_POA_Nautilus_ViewFrame;
+static Nautilus_ViewWindow
+impl_Nautilus_ViewFrame__get_main_window(impl_POA_Nautilus_ViewFrame *servant,
+ CORBA_Environment *ev);
static void
impl_Nautilus_ViewFrame_request_location_change(impl_POA_Nautilus_ViewFrame * servant,
Nautilus_NavigationRequestInfo * navinfo,
@@ -65,6 +68,7 @@ impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * serv
POA_Nautilus_ViewFrame__epv impl_Nautilus_ViewFrame_epv =
{
NULL, /* _private */
+ (void(*))&impl_Nautilus_ViewFrame__get_main_window,
(void(*))&impl_Nautilus_ViewFrame_request_location_change,
(void(*))&impl_Nautilus_ViewFrame_request_selection_change,
(void(*))&impl_Nautilus_ViewFrame_request_status_change
@@ -113,7 +117,8 @@ impl_Nautilus_ViewFrame__create(NautilusView *view, CORBA_Environment * ev)
klass = NAUTILUS_VIEW_CLASS(GTK_OBJECT(view)->klass);
newservant = g_new0(impl_POA_Nautilus_ViewFrame, 1);
newservant->servant.vepv = klass->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
newservant->view = view;
servant_init_func = klass->servant_init_func;
servant_init_func((PortableServer_Servant) newservant, ev);
@@ -125,6 +130,13 @@ impl_Nautilus_ViewFrame__create(NautilusView *view, CORBA_Environment * ev)
return retval;
}
+static Nautilus_ViewWindow
+impl_Nautilus_ViewFrame__get_main_window(impl_POA_Nautilus_ViewFrame *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_Object_duplicate(gnome_object_corba_objref(NAUTILUS_WINDOW(servant->view->main_window)->ntl_viewwindow), ev);
+}
+
static void
impl_Nautilus_ViewFrame_request_location_change(impl_POA_Nautilus_ViewFrame * servant,
Nautilus_NavigationRequestInfo * navinfo,
@@ -429,7 +441,7 @@ nautilus_view_load_client(NautilusView *view, const char *iid)
gtk_container_remove(GTK_CONTAINER(view), view->client); view->client = NULL;
}
- view->client = gnome_bonobo_widget_new_control((char *)iid);
+ view->client = gnome_bonobo_widget_new_subdoc((char *)iid, NAUTILUS_WINDOW(view->main_window)->uih);
g_return_if_fail(view->client);
CORBA_exception_init(&ev);
CORBA_Object_release(view->view_client, &ev);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 006c1cb4c..c63b2fb29 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -29,6 +29,67 @@
#include "nautilus.h"
#include "explorer-location-bar.h"
+typedef struct {
+ POA_Nautilus_ViewWindow servant;
+ gpointer gnome_object;
+
+ NautilusWindow *window;
+} impl_POA_Nautilus_ViewWindow;
+
+static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
+{
+ NULL
+};
+
+static PortableServer_ServantBase__epv base_epv = { NULL};
+
+static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
+{
+ &base_epv,
+ NULL,
+ &impl_Nautilus_ViewWindow_epv
+};
+
+static void
+impl_Nautilus_ViewWindow__destroy(GnomeObject *obj, impl_POA_Nautilus_ViewWindow *servant)
+{
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ 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_ViewWindow__fini((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
+}
+
+static GnomeObject *
+impl_Nautilus_ViewWindow__create(NautilusWindow *window)
+{
+ GnomeObject *retval;
+ impl_POA_Nautilus_ViewWindow *newservant;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ newservant = g_new0(impl_POA_Nautilus_ViewWindow, 1);
+ newservant->servant.vepv = &impl_Nautilus_ViewWindow_vepv;
+ newservant->window = window;
+ POA_Nautilus_ViewWindow__init((PortableServer_Servant) newservant, &ev);
+
+ retval = gnome_object_new_from_servant(newservant);
+
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_ViewWindow__destroy), newservant);
+ CORBA_exception_free(&ev);
+
+ return retval;
+}
+
static void nautilus_window_class_init (NautilusWindowClass *klass);
static void nautilus_window_init (NautilusWindow *window);
static void nautilus_window_destroy (NautilusWindow *window);
@@ -40,8 +101,6 @@ static void nautilus_window_set_arg (GtkObject *object,
static void nautilus_window_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void nautilus_window_close (GtkWidget *widget,
- GtkWidget *window);
static void nautilus_window_goto_url (GtkWidget *widget,
const char *url,
GtkWidget *window);
@@ -66,7 +125,8 @@ nautilus_window_get_type(void)
if (!window_type)
{
- GtkTypeInfo window_info = {
+ GtkTypeInfo window_info =
+ {
"NautilusWindow",
sizeof(NautilusWindow),
sizeof(NautilusWindowClass),
@@ -152,6 +212,7 @@ nautilus_window_class_init (NautilusWindowClass *klass)
GTK_TYPE_OBJECT,
GTK_ARG_READWRITE,
ARG_CONTENT_VIEW);
+ impl_Nautilus_ViewWindow_vepv.GNOME_Unknown_epv = gnome_object_get_epv();
}
static gboolean
@@ -207,11 +268,7 @@ static void
nautilus_window_constructed(NautilusWindow *window)
{
GnomeApp *app;
- GnomeUIInfo dummy_menu[] = {
- GNOMEUIINFO_END
- };
GnomeUIInfo main_menu[] = {
- GNOMEUIINFO_SUBTREE_STOCK(N_("_Actions"), dummy_menu, GNOME_STOCK_MENU_JUMP_TO),
GNOMEUIINFO_END
};
GtkWidget *menu_hbox, *menubar, *wtmp, *statusbar;
@@ -246,7 +303,8 @@ nautilus_window_constructed(NautilusWindow *window)
gtk_option_menu_set_history(GTK_OPTION_MENU(window->option_cvtype), 0);
gtk_widget_queue_resize(window->menu_cvtype);
- /* A hacked-up version of gnome_app_set_menu() */
+ /* A hacked-up version of gnome_app_set_menu(). We need this to use our 'menubar' for the actual menubar stuff,
+ but our menu_hbox for the widget being docked. */
{
GtkWidget *dock_item;
GnomeDockItemBehavior behavior;
@@ -345,6 +403,12 @@ nautilus_window_constructed(NautilusWindow *window)
GNOME_DOCK_ITEM_BEH_LOCKED|GNOME_DOCK_ITEM_BEH_EXCLUSIVE|GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL,
GNOME_DOCK_TOP, 1, 0, 0);
gtk_widget_show(window->ent_url);
+
+ /* CORBA stuff */
+ window->ntl_viewwindow = impl_Nautilus_ViewWindow__create(window);
+ window->uih = gnome_ui_handler_new();
+ gnome_ui_handler_set_app(window->uih, app);
+ gnome_object_add_interface(GNOME_OBJECT(window->uih), window->ntl_viewwindow);
}
static void
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index e07c12d7e..73ad91dfc 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -72,6 +72,9 @@ struct _NautilusWindow {
GSList *uris_prev, *uris_next;
guint statusbar_ctx, statusbar_clear_id;
+
+ GnomeObject *ntl_viewwindow;
+ GnomeUIHandler *uih;
};
GtkType nautilus_window_get_type(void);
diff --git a/src/nautilus.h b/src/nautilus.h
index 608229748..5bdc41bb7 100644
--- a/src/nautilus.h
+++ b/src/nautilus.h
@@ -1,3 +1,5 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+
#ifndef NAUTILUS_H
#define NAUTILUS_H 1
diff --git a/src/ntl-main.c b/src/ntl-main.c
index b47dd4d11..bebaa1e80 100644
--- a/src/ntl-main.c
+++ b/src/ntl-main.c
@@ -29,6 +29,7 @@
#include <gnome.h>
#include <libgnorba/gnorba.h>
#include <bonobo/gnome-bonobo.h>
+#include <file-manager/fm-public-api.h>
static int window_count = 0;
static void
@@ -39,9 +40,24 @@ check_for_quit(void)
}
static GnomeObject *
-nautilus_make_object(GnomeGenericFactory *gfact, const char *goad_id, void *closure)
+nautilus_make_object(GnomeGenericFactory *gfact, const char *goad_id, gpointer closure)
{
- /* New internally implemented objects should be activated here */
+ GtkObject *theobj = NULL;
+
+ if(!strcmp(goad_id, "ntl_file_manager"))
+ theobj = gtk_object_new(fm_directory_view_get_type(), NULL);
+
+ if(!theobj)
+ return NULL;
+
+ if(GNOME_IS_OBJECT(theobj))
+ return GNOME_OBJECT(theobj);
+
+ if(NAUTILUS_IS_VIEW_CLIENT(theobj))
+ return nautilus_view_client_get_gnome_object(NAUTILUS_VIEW_CLIENT(theobj));
+
+ gtk_object_destroy(theobj);
+
return NULL;
}
@@ -59,7 +75,7 @@ int main(int argc, char *argv[])
orb = gnome_CORBA_init_with_popt_table("nautilus", VERSION, &argc, argv, options, 0, &ctx, GNORBA_INIT_SERVER_FUNC, &ev);
bonobo_init(orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
- gfact = gnome_generic_factory_new("nautilus_factory", nautilus_make_object, NULL);
+ gfact = gnome_generic_factory_new_multi("nautilus_factory", nautilus_make_object, NULL);
mainwin = gtk_widget_new(nautilus_window_get_type(), "app_id", "nautilus", NULL);
bonobo_activate();
diff --git a/src/ntl-uri-map.c b/src/ntl-uri-map.c
index 0239e8065..137c8e203 100644
--- a/src/ntl-uri-map.c
+++ b/src/ntl-uri-map.c
@@ -22,7 +22,8 @@
* Author: Elliot Lee <sopwith@redhat.com>
*
*/
-/* ntl-uri-map.c: Implementation of routines for mapping a location change request to a set of views and actual URL to be loaded. */
+/* ntl-uri-map.c: Implementation of routines for mapping a location
+ change request to a set of views and actual URL to be loaded. */
#include "ntl-uri-map.h"
#include <libgnorba/gnorba.h>
@@ -66,6 +67,19 @@ nautilus_navinfo_new(NautilusNavigationInfo *navinfo,
Find if the user has specified any default(s) globally, modify selection.
Find if the user has specified any default(s) per-page, modify selection.
*/
+ if(!strcmp(navinfo->navinfo.content_type, "text/html"))
+ {
+ navinfo->content_iid = "embeddable:explorer-html-component";
+ }
+ else if(!strcmp(navinfo->navinfo.content_type, "text/plain"))
+ {
+ navinfo->content_iid = "embeddable:text-plain";
+ }
+ else if(!strcmp(navinfo->navinfo.content_type, "special/directory"))
+ {
+ navinfo->content_iid = "ntl_file_manager";
+ }
+
return NULL;
}
@@ -74,4 +88,5 @@ void
nautilus_navinfo_free(NautilusNavigationInfo *navinfo)
{
g_free(navinfo->navinfo.content_type);
+ g_free(navinfo->content_iid);
}
diff --git a/src/ntl-view.c b/src/ntl-view.c
index f07e0bf5f..fd498bfe7 100644
--- a/src/ntl-view.c
+++ b/src/ntl-view.c
@@ -48,6 +48,9 @@ typedef struct {
NautilusView *view;
} impl_POA_Nautilus_ViewFrame;
+static Nautilus_ViewWindow
+impl_Nautilus_ViewFrame__get_main_window(impl_POA_Nautilus_ViewFrame *servant,
+ CORBA_Environment *ev);
static void
impl_Nautilus_ViewFrame_request_location_change(impl_POA_Nautilus_ViewFrame * servant,
Nautilus_NavigationRequestInfo * navinfo,
@@ -65,6 +68,7 @@ impl_Nautilus_ViewFrame_request_status_change(impl_POA_Nautilus_ViewFrame * serv
POA_Nautilus_ViewFrame__epv impl_Nautilus_ViewFrame_epv =
{
NULL, /* _private */
+ (void(*))&impl_Nautilus_ViewFrame__get_main_window,
(void(*))&impl_Nautilus_ViewFrame_request_location_change,
(void(*))&impl_Nautilus_ViewFrame_request_selection_change,
(void(*))&impl_Nautilus_ViewFrame_request_status_change
@@ -113,7 +117,8 @@ impl_Nautilus_ViewFrame__create(NautilusView *view, CORBA_Environment * ev)
klass = NAUTILUS_VIEW_CLASS(GTK_OBJECT(view)->klass);
newservant = g_new0(impl_POA_Nautilus_ViewFrame, 1);
newservant->servant.vepv = klass->vepv;
- newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv(FALSE);
+ if(!newservant->servant.vepv->GNOME_Unknown_epv)
+ newservant->servant.vepv->GNOME_Unknown_epv = gnome_object_get_epv();
newservant->view = view;
servant_init_func = klass->servant_init_func;
servant_init_func((PortableServer_Servant) newservant, ev);
@@ -125,6 +130,13 @@ impl_Nautilus_ViewFrame__create(NautilusView *view, CORBA_Environment * ev)
return retval;
}
+static Nautilus_ViewWindow
+impl_Nautilus_ViewFrame__get_main_window(impl_POA_Nautilus_ViewFrame *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_Object_duplicate(gnome_object_corba_objref(NAUTILUS_WINDOW(servant->view->main_window)->ntl_viewwindow), ev);
+}
+
static void
impl_Nautilus_ViewFrame_request_location_change(impl_POA_Nautilus_ViewFrame * servant,
Nautilus_NavigationRequestInfo * navinfo,
@@ -429,7 +441,7 @@ nautilus_view_load_client(NautilusView *view, const char *iid)
gtk_container_remove(GTK_CONTAINER(view), view->client); view->client = NULL;
}
- view->client = gnome_bonobo_widget_new_control((char *)iid);
+ view->client = gnome_bonobo_widget_new_subdoc((char *)iid, NAUTILUS_WINDOW(view->main_window)->uih);
g_return_if_fail(view->client);
CORBA_exception_init(&ev);
CORBA_Object_release(view->view_client, &ev);
diff --git a/src/ntl-window.c b/src/ntl-window.c
index 006c1cb4c..c63b2fb29 100644
--- a/src/ntl-window.c
+++ b/src/ntl-window.c
@@ -29,6 +29,67 @@
#include "nautilus.h"
#include "explorer-location-bar.h"
+typedef struct {
+ POA_Nautilus_ViewWindow servant;
+ gpointer gnome_object;
+
+ NautilusWindow *window;
+} impl_POA_Nautilus_ViewWindow;
+
+static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
+{
+ NULL
+};
+
+static PortableServer_ServantBase__epv base_epv = { NULL};
+
+static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
+{
+ &base_epv,
+ NULL,
+ &impl_Nautilus_ViewWindow_epv
+};
+
+static void
+impl_Nautilus_ViewWindow__destroy(GnomeObject *obj, impl_POA_Nautilus_ViewWindow *servant)
+{
+ PortableServer_ObjectId *objid;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ 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_ViewWindow__fini((PortableServer_Servant) servant, &ev);
+ g_free(servant);
+ CORBA_exception_free(&ev);
+}
+
+static GnomeObject *
+impl_Nautilus_ViewWindow__create(NautilusWindow *window)
+{
+ GnomeObject *retval;
+ impl_POA_Nautilus_ViewWindow *newservant;
+ CORBA_Environment ev;
+
+ CORBA_exception_init(&ev);
+
+ newservant = g_new0(impl_POA_Nautilus_ViewWindow, 1);
+ newservant->servant.vepv = &impl_Nautilus_ViewWindow_vepv;
+ newservant->window = window;
+ POA_Nautilus_ViewWindow__init((PortableServer_Servant) newservant, &ev);
+
+ retval = gnome_object_new_from_servant(newservant);
+
+ gtk_signal_connect(GTK_OBJECT(retval), "destroy", GTK_SIGNAL_FUNC(impl_Nautilus_ViewWindow__destroy), newservant);
+ CORBA_exception_free(&ev);
+
+ return retval;
+}
+
static void nautilus_window_class_init (NautilusWindowClass *klass);
static void nautilus_window_init (NautilusWindow *window);
static void nautilus_window_destroy (NautilusWindow *window);
@@ -40,8 +101,6 @@ static void nautilus_window_set_arg (GtkObject *object,
static void nautilus_window_get_arg (GtkObject *object,
GtkArg *arg,
guint arg_id);
-static void nautilus_window_close (GtkWidget *widget,
- GtkWidget *window);
static void nautilus_window_goto_url (GtkWidget *widget,
const char *url,
GtkWidget *window);
@@ -66,7 +125,8 @@ nautilus_window_get_type(void)
if (!window_type)
{
- GtkTypeInfo window_info = {
+ GtkTypeInfo window_info =
+ {
"NautilusWindow",
sizeof(NautilusWindow),
sizeof(NautilusWindowClass),
@@ -152,6 +212,7 @@ nautilus_window_class_init (NautilusWindowClass *klass)
GTK_TYPE_OBJECT,
GTK_ARG_READWRITE,
ARG_CONTENT_VIEW);
+ impl_Nautilus_ViewWindow_vepv.GNOME_Unknown_epv = gnome_object_get_epv();
}
static gboolean
@@ -207,11 +268,7 @@ static void
nautilus_window_constructed(NautilusWindow *window)
{
GnomeApp *app;
- GnomeUIInfo dummy_menu[] = {
- GNOMEUIINFO_END
- };
GnomeUIInfo main_menu[] = {
- GNOMEUIINFO_SUBTREE_STOCK(N_("_Actions"), dummy_menu, GNOME_STOCK_MENU_JUMP_TO),
GNOMEUIINFO_END
};
GtkWidget *menu_hbox, *menubar, *wtmp, *statusbar;
@@ -246,7 +303,8 @@ nautilus_window_constructed(NautilusWindow *window)
gtk_option_menu_set_history(GTK_OPTION_MENU(window->option_cvtype), 0);
gtk_widget_queue_resize(window->menu_cvtype);
- /* A hacked-up version of gnome_app_set_menu() */
+ /* A hacked-up version of gnome_app_set_menu(). We need this to use our 'menubar' for the actual menubar stuff,
+ but our menu_hbox for the widget being docked. */
{
GtkWidget *dock_item;
GnomeDockItemBehavior behavior;
@@ -345,6 +403,12 @@ nautilus_window_constructed(NautilusWindow *window)
GNOME_DOCK_ITEM_BEH_LOCKED|GNOME_DOCK_ITEM_BEH_EXCLUSIVE|GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL,
GNOME_DOCK_TOP, 1, 0, 0);
gtk_widget_show(window->ent_url);
+
+ /* CORBA stuff */
+ window->ntl_viewwindow = impl_Nautilus_ViewWindow__create(window);
+ window->uih = gnome_ui_handler_new();
+ gnome_ui_handler_set_app(window->uih, app);
+ gnome_object_add_interface(GNOME_OBJECT(window->uih), window->ntl_viewwindow);
}
static void
diff --git a/src/ntl-window.h b/src/ntl-window.h
index e07c12d7e..73ad91dfc 100644
--- a/src/ntl-window.h
+++ b/src/ntl-window.h
@@ -72,6 +72,9 @@ struct _NautilusWindow {
GSList *uris_prev, *uris_next;
guint statusbar_ctx, statusbar_clear_id;
+
+ GnomeObject *ntl_viewwindow;
+ GnomeUIHandler *uih;
};
GtkType nautilus_window_get_type(void);