summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Stachowiak <mstachow@src.gnome.org>2000-02-24 07:20:40 +0000
committerMaciej Stachowiak <mstachow@src.gnome.org>2000-02-24 07:20:40 +0000
commit4bf409fb0c39639bd08be0d9d6dceeea250ddc88 (patch)
treea4dfcc1d83018164984d1255f3106c027357cdb6
parent1f887dce940acf963b27fb9d959848287e6ab8f1 (diff)
downloadnautilus-4bf409fb0c39639bd08be0d9d6dceeea250ddc88.tar.gz
Added `application' readonly attribute. (Application): Renamed attribute
* idl/nautilus.idl (ViewWindow): Added `application' readonly attribute. (Application): Renamed attribute from `windows' to `view_windows' and made it a sequence<ViewWindow> rather than sequence<Object>. Renamed `new_window' method to `new_view_window'. * src/ntl-window.h: Miscellaneous reformatting. (nautilus_window_close): Added prototype * src/ntl-window.c: Added implementations of Nautilus::ViewWindow's methods. For now, _get_application just returns CORBA_OBJECT_NIL because the Application object has not yet been implemented. (nautilus_window_close): New function used by `file_menu_close_cb' and `impl_POA_Nautilus_ViewWindow_close'. (would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render): Added an explanatory comment.
-rw-r--r--idl/nautilus.idl35
-rw-r--r--src/nautilus-navigation-window.c73
-rw-r--r--src/nautilus-navigation-window.h20
-rw-r--r--src/nautilus-object-window.c73
-rw-r--r--src/nautilus-object-window.h20
-rw-r--r--src/nautilus-spatial-window.c73
-rw-r--r--src/nautilus-spatial-window.h20
-rw-r--r--src/nautilus-window.c73
-rw-r--r--src/nautilus-window.h20
-rw-r--r--src/ntl-window.c73
-rw-r--r--src/ntl-window.h20
11 files changed, 419 insertions, 81 deletions
diff --git a/idl/nautilus.idl b/idl/nautilus.idl
index fbeb0e47f..df35eb9a0 100644
--- a/idl/nautilus.idl
+++ b/idl/nautilus.idl
@@ -32,21 +32,22 @@ module Nautilus {
};
enum ProgressType { PROGRESS_DONE_OK, PROGRESS_DONE_ERROR, PROGRESS_UNDERWAY };
+
struct ProgressRequestInfo {
ProgressType type;
double amount;
};
interface View : ::Bonobo::Unknown {
- void save_state(in string config_path);
- void load_state(in string config_path);
- oneway void notify_location_change(in NavigationInfo navinfo);
+ void save_state (in string config_path);
+ void load_state (in string config_path);
+ oneway void notify_location_change (in NavigationInfo navinfo);
oneway void show_properties(); // Requests that the client show its properties
- oneway void notify_selection_change(in SelectionInfo selinfo);
+ oneway void notify_selection_change (in SelectionInfo selinfo);
- oneway void stop_location_change();
+ oneway void stop_location_change ();
};
interface MetaView : View {
@@ -59,10 +60,10 @@ module Nautilus {
interface ViewFrame : ::Bonobo::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);
- oneway void request_progress_change(in ProgressRequestInfo proginfo);
+ oneway void request_status_change (in StatusRequestInfo statinfo);
+ oneway void request_location_change (in NavigationRequestInfo navinfo);
+ oneway void request_selection_change (in SelectionRequestInfo selinfo);
+ oneway void request_progress_change (in ProgressRequestInfo proginfo);
};
interface MetaViewFrame : ViewFrame {
@@ -89,17 +90,19 @@ module Nautilus {
oneway void notify_zoom_level (in double zoom_level);
};
+ interface Application;
interface ViewWindow : ::Bonobo::Unknown {
- readonly attribute string current_uri;
- void open_uri(in string uri);
- void close();
+ readonly attribute string current_uri;
+ readonly attribute Application application;
+ void open_uri (in string uri);
+ void close ();
};
- typedef sequence<Object> ObjectList;
+ typedef sequence<ViewWindow> ViewWindowList;
- interface Application : ::GNOME::GenericFactory {
- readonly attribute ObjectList windows;
- ViewWindow new_window();
+ interface Application : ::GNOME::GenericFactory, ::Bonobo::Unknown {
+ readonly attribute ViewWindowList view_windows;
+ ViewWindow new_view_window ();
};
};
diff --git a/src/nautilus-navigation-window.c b/src/nautilus-navigation-window.c
index 6f1a4b634..36d8970d4 100644
--- a/src/nautilus-navigation-window.c
+++ b/src/nautilus-navigation-window.c
@@ -67,9 +67,27 @@ typedef struct {
NautilusWindow *window;
} impl_POA_Nautilus_ViewWindow;
+static const CORBA_char *impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static Nautilus_Application impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+
static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
{
- NULL
+ NULL,
+ (gpointer) &impl_Nautilus_ViewWindow__get_current_uri,
+ (gpointer) &impl_Nautilus_ViewWindow__get_application,
+ (gpointer) &impl_Nautilus_ViewWindow_open_uri,
+ (gpointer) &impl_Nautilus_ViewWindow_close
};
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
@@ -81,6 +99,36 @@ static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
&impl_Nautilus_ViewWindow_epv
};
+static const CORBA_char *
+impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return nautilus_window_get_requested_uri (servant->window);
+}
+
+
+static Nautilus_Application
+impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_OBJECT_NIL;
+}
+
+static void
+impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev)
+{
+ nautilus_window_goto_uri (servant->window, uri);
+}
+
+static void
+impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ nautilus_window_close (servant->window);
+}
+
static void
impl_Nautilus_ViewWindow__destroy(BonoboObject *obj, impl_POA_Nautilus_ViewWindow *servant)
@@ -155,12 +203,10 @@ static void nautilus_window_about_cb (GtkWidget *widget,
static void
file_menu_close_cb (GtkWidget *widget,
- gpointer data)
+ gpointer data)
{
- GtkWidget *window;
-
- window = GTK_WIDGET (data);
- gtk_widget_destroy(window);
+ g_assert (NAUTILUS_IS_WINDOW (data));
+ nautilus_window_close (NAUTILUS_WINDOW (data));
}
static void
@@ -884,6 +930,21 @@ nautilus_window_new(const char *app_id)
return GTK_WIDGET (gtk_object_new (nautilus_window_get_type(), "app_id", app_id, NULL));
}
+void
+nautilus_window_close (NautilusWindow *window)
+{
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
+
+
+/* The reason for this function is that
+ `gdk_pixbuf_render_pixmap_and_mask', as currently implemented, will
+ fail on a pixbuf with no alpha channel. This function will instead
+ return with NULL in *mask_retval in such a case. If that ever gets
+ fixed, this function should be removed.
+*/
+
static void
would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render(GdkPixbuf *pixbuf,
GdkPixmap **pixmap,
diff --git a/src/nautilus-navigation-window.h b/src/nautilus-navigation-window.h
index 122a98ece..e337cf011 100644
--- a/src/nautilus-navigation-window.h
+++ b/src/nautilus-navigation-window.h
@@ -113,13 +113,19 @@ struct _NautilusWindow {
gboolean reset_to_idle : 1;
};
-GtkType nautilus_window_get_type(void);
-GtkWidget *nautilus_window_new(const char *app_id);
-void nautilus_window_set_content_view(NautilusWindow *window, NautilusView *content_view);
-void nautilus_window_add_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_goto_uri(NautilusWindow *window, const char *uri);
-void nautilus_window_display_error(NautilusWindow *window, const char *error_msg);
+GtkType nautilus_window_get_type (void);
+GtkWidget *nautilus_window_new (const char *app_id);
+void nautilus_window_close (NautilusWindow *window);
+void nautilus_window_set_content_view (NautilusWindow *window,
+ NautilusView *content_view);
+void nautilus_window_add_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_remove_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_goto_uri (NautilusWindow *window,
+ const char *uri);
+void nautilus_window_display_error (NautilusWindow *window,
+ const char *error_msg);
const char *nautilus_window_get_requested_uri(NautilusWindow *window);
BonoboUIHandler *nautilus_window_get_uih(NautilusWindow *window);
diff --git a/src/nautilus-object-window.c b/src/nautilus-object-window.c
index 6f1a4b634..36d8970d4 100644
--- a/src/nautilus-object-window.c
+++ b/src/nautilus-object-window.c
@@ -67,9 +67,27 @@ typedef struct {
NautilusWindow *window;
} impl_POA_Nautilus_ViewWindow;
+static const CORBA_char *impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static Nautilus_Application impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+
static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
{
- NULL
+ NULL,
+ (gpointer) &impl_Nautilus_ViewWindow__get_current_uri,
+ (gpointer) &impl_Nautilus_ViewWindow__get_application,
+ (gpointer) &impl_Nautilus_ViewWindow_open_uri,
+ (gpointer) &impl_Nautilus_ViewWindow_close
};
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
@@ -81,6 +99,36 @@ static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
&impl_Nautilus_ViewWindow_epv
};
+static const CORBA_char *
+impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return nautilus_window_get_requested_uri (servant->window);
+}
+
+
+static Nautilus_Application
+impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_OBJECT_NIL;
+}
+
+static void
+impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev)
+{
+ nautilus_window_goto_uri (servant->window, uri);
+}
+
+static void
+impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ nautilus_window_close (servant->window);
+}
+
static void
impl_Nautilus_ViewWindow__destroy(BonoboObject *obj, impl_POA_Nautilus_ViewWindow *servant)
@@ -155,12 +203,10 @@ static void nautilus_window_about_cb (GtkWidget *widget,
static void
file_menu_close_cb (GtkWidget *widget,
- gpointer data)
+ gpointer data)
{
- GtkWidget *window;
-
- window = GTK_WIDGET (data);
- gtk_widget_destroy(window);
+ g_assert (NAUTILUS_IS_WINDOW (data));
+ nautilus_window_close (NAUTILUS_WINDOW (data));
}
static void
@@ -884,6 +930,21 @@ nautilus_window_new(const char *app_id)
return GTK_WIDGET (gtk_object_new (nautilus_window_get_type(), "app_id", app_id, NULL));
}
+void
+nautilus_window_close (NautilusWindow *window)
+{
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
+
+
+/* The reason for this function is that
+ `gdk_pixbuf_render_pixmap_and_mask', as currently implemented, will
+ fail on a pixbuf with no alpha channel. This function will instead
+ return with NULL in *mask_retval in such a case. If that ever gets
+ fixed, this function should be removed.
+*/
+
static void
would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render(GdkPixbuf *pixbuf,
GdkPixmap **pixmap,
diff --git a/src/nautilus-object-window.h b/src/nautilus-object-window.h
index 122a98ece..e337cf011 100644
--- a/src/nautilus-object-window.h
+++ b/src/nautilus-object-window.h
@@ -113,13 +113,19 @@ struct _NautilusWindow {
gboolean reset_to_idle : 1;
};
-GtkType nautilus_window_get_type(void);
-GtkWidget *nautilus_window_new(const char *app_id);
-void nautilus_window_set_content_view(NautilusWindow *window, NautilusView *content_view);
-void nautilus_window_add_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_goto_uri(NautilusWindow *window, const char *uri);
-void nautilus_window_display_error(NautilusWindow *window, const char *error_msg);
+GtkType nautilus_window_get_type (void);
+GtkWidget *nautilus_window_new (const char *app_id);
+void nautilus_window_close (NautilusWindow *window);
+void nautilus_window_set_content_view (NautilusWindow *window,
+ NautilusView *content_view);
+void nautilus_window_add_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_remove_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_goto_uri (NautilusWindow *window,
+ const char *uri);
+void nautilus_window_display_error (NautilusWindow *window,
+ const char *error_msg);
const char *nautilus_window_get_requested_uri(NautilusWindow *window);
BonoboUIHandler *nautilus_window_get_uih(NautilusWindow *window);
diff --git a/src/nautilus-spatial-window.c b/src/nautilus-spatial-window.c
index 6f1a4b634..36d8970d4 100644
--- a/src/nautilus-spatial-window.c
+++ b/src/nautilus-spatial-window.c
@@ -67,9 +67,27 @@ typedef struct {
NautilusWindow *window;
} impl_POA_Nautilus_ViewWindow;
+static const CORBA_char *impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static Nautilus_Application impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+
static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
{
- NULL
+ NULL,
+ (gpointer) &impl_Nautilus_ViewWindow__get_current_uri,
+ (gpointer) &impl_Nautilus_ViewWindow__get_application,
+ (gpointer) &impl_Nautilus_ViewWindow_open_uri,
+ (gpointer) &impl_Nautilus_ViewWindow_close
};
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
@@ -81,6 +99,36 @@ static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
&impl_Nautilus_ViewWindow_epv
};
+static const CORBA_char *
+impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return nautilus_window_get_requested_uri (servant->window);
+}
+
+
+static Nautilus_Application
+impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_OBJECT_NIL;
+}
+
+static void
+impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev)
+{
+ nautilus_window_goto_uri (servant->window, uri);
+}
+
+static void
+impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ nautilus_window_close (servant->window);
+}
+
static void
impl_Nautilus_ViewWindow__destroy(BonoboObject *obj, impl_POA_Nautilus_ViewWindow *servant)
@@ -155,12 +203,10 @@ static void nautilus_window_about_cb (GtkWidget *widget,
static void
file_menu_close_cb (GtkWidget *widget,
- gpointer data)
+ gpointer data)
{
- GtkWidget *window;
-
- window = GTK_WIDGET (data);
- gtk_widget_destroy(window);
+ g_assert (NAUTILUS_IS_WINDOW (data));
+ nautilus_window_close (NAUTILUS_WINDOW (data));
}
static void
@@ -884,6 +930,21 @@ nautilus_window_new(const char *app_id)
return GTK_WIDGET (gtk_object_new (nautilus_window_get_type(), "app_id", app_id, NULL));
}
+void
+nautilus_window_close (NautilusWindow *window)
+{
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
+
+
+/* The reason for this function is that
+ `gdk_pixbuf_render_pixmap_and_mask', as currently implemented, will
+ fail on a pixbuf with no alpha channel. This function will instead
+ return with NULL in *mask_retval in such a case. If that ever gets
+ fixed, this function should be removed.
+*/
+
static void
would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render(GdkPixbuf *pixbuf,
GdkPixmap **pixmap,
diff --git a/src/nautilus-spatial-window.h b/src/nautilus-spatial-window.h
index 122a98ece..e337cf011 100644
--- a/src/nautilus-spatial-window.h
+++ b/src/nautilus-spatial-window.h
@@ -113,13 +113,19 @@ struct _NautilusWindow {
gboolean reset_to_idle : 1;
};
-GtkType nautilus_window_get_type(void);
-GtkWidget *nautilus_window_new(const char *app_id);
-void nautilus_window_set_content_view(NautilusWindow *window, NautilusView *content_view);
-void nautilus_window_add_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_goto_uri(NautilusWindow *window, const char *uri);
-void nautilus_window_display_error(NautilusWindow *window, const char *error_msg);
+GtkType nautilus_window_get_type (void);
+GtkWidget *nautilus_window_new (const char *app_id);
+void nautilus_window_close (NautilusWindow *window);
+void nautilus_window_set_content_view (NautilusWindow *window,
+ NautilusView *content_view);
+void nautilus_window_add_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_remove_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_goto_uri (NautilusWindow *window,
+ const char *uri);
+void nautilus_window_display_error (NautilusWindow *window,
+ const char *error_msg);
const char *nautilus_window_get_requested_uri(NautilusWindow *window);
BonoboUIHandler *nautilus_window_get_uih(NautilusWindow *window);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 6f1a4b634..36d8970d4 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -67,9 +67,27 @@ typedef struct {
NautilusWindow *window;
} impl_POA_Nautilus_ViewWindow;
+static const CORBA_char *impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static Nautilus_Application impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+
static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
{
- NULL
+ NULL,
+ (gpointer) &impl_Nautilus_ViewWindow__get_current_uri,
+ (gpointer) &impl_Nautilus_ViewWindow__get_application,
+ (gpointer) &impl_Nautilus_ViewWindow_open_uri,
+ (gpointer) &impl_Nautilus_ViewWindow_close
};
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
@@ -81,6 +99,36 @@ static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
&impl_Nautilus_ViewWindow_epv
};
+static const CORBA_char *
+impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return nautilus_window_get_requested_uri (servant->window);
+}
+
+
+static Nautilus_Application
+impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_OBJECT_NIL;
+}
+
+static void
+impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev)
+{
+ nautilus_window_goto_uri (servant->window, uri);
+}
+
+static void
+impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ nautilus_window_close (servant->window);
+}
+
static void
impl_Nautilus_ViewWindow__destroy(BonoboObject *obj, impl_POA_Nautilus_ViewWindow *servant)
@@ -155,12 +203,10 @@ static void nautilus_window_about_cb (GtkWidget *widget,
static void
file_menu_close_cb (GtkWidget *widget,
- gpointer data)
+ gpointer data)
{
- GtkWidget *window;
-
- window = GTK_WIDGET (data);
- gtk_widget_destroy(window);
+ g_assert (NAUTILUS_IS_WINDOW (data));
+ nautilus_window_close (NAUTILUS_WINDOW (data));
}
static void
@@ -884,6 +930,21 @@ nautilus_window_new(const char *app_id)
return GTK_WIDGET (gtk_object_new (nautilus_window_get_type(), "app_id", app_id, NULL));
}
+void
+nautilus_window_close (NautilusWindow *window)
+{
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
+
+
+/* The reason for this function is that
+ `gdk_pixbuf_render_pixmap_and_mask', as currently implemented, will
+ fail on a pixbuf with no alpha channel. This function will instead
+ return with NULL in *mask_retval in such a case. If that ever gets
+ fixed, this function should be removed.
+*/
+
static void
would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render(GdkPixbuf *pixbuf,
GdkPixmap **pixmap,
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index 122a98ece..e337cf011 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -113,13 +113,19 @@ struct _NautilusWindow {
gboolean reset_to_idle : 1;
};
-GtkType nautilus_window_get_type(void);
-GtkWidget *nautilus_window_new(const char *app_id);
-void nautilus_window_set_content_view(NautilusWindow *window, NautilusView *content_view);
-void nautilus_window_add_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_goto_uri(NautilusWindow *window, const char *uri);
-void nautilus_window_display_error(NautilusWindow *window, const char *error_msg);
+GtkType nautilus_window_get_type (void);
+GtkWidget *nautilus_window_new (const char *app_id);
+void nautilus_window_close (NautilusWindow *window);
+void nautilus_window_set_content_view (NautilusWindow *window,
+ NautilusView *content_view);
+void nautilus_window_add_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_remove_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_goto_uri (NautilusWindow *window,
+ const char *uri);
+void nautilus_window_display_error (NautilusWindow *window,
+ const char *error_msg);
const char *nautilus_window_get_requested_uri(NautilusWindow *window);
BonoboUIHandler *nautilus_window_get_uih(NautilusWindow *window);
diff --git a/src/ntl-window.c b/src/ntl-window.c
index 6f1a4b634..36d8970d4 100644
--- a/src/ntl-window.c
+++ b/src/ntl-window.c
@@ -67,9 +67,27 @@ typedef struct {
NautilusWindow *window;
} impl_POA_Nautilus_ViewWindow;
+static const CORBA_char *impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static Nautilus_Application impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev);
+
+static void impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev);
+
+
static POA_Nautilus_ViewWindow__epv impl_Nautilus_ViewWindow_epv =
{
- NULL
+ NULL,
+ (gpointer) &impl_Nautilus_ViewWindow__get_current_uri,
+ (gpointer) &impl_Nautilus_ViewWindow__get_application,
+ (gpointer) &impl_Nautilus_ViewWindow_open_uri,
+ (gpointer) &impl_Nautilus_ViewWindow_close
};
static PortableServer_ServantBase__epv base_epv = { NULL, NULL, NULL };
@@ -81,6 +99,36 @@ static POA_Nautilus_ViewWindow__vepv impl_Nautilus_ViewWindow_vepv =
&impl_Nautilus_ViewWindow_epv
};
+static const CORBA_char *
+impl_Nautilus_ViewWindow__get_current_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return nautilus_window_get_requested_uri (servant->window);
+}
+
+
+static Nautilus_Application
+impl_Nautilus_ViewWindow__get_application (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ return CORBA_OBJECT_NIL;
+}
+
+static void
+impl_Nautilus_ViewWindow_open_uri (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_char *uri,
+ CORBA_Environment *ev)
+{
+ nautilus_window_goto_uri (servant->window, uri);
+}
+
+static void
+impl_Nautilus_ViewWindow_close (impl_POA_Nautilus_ViewWindow *servant,
+ CORBA_Environment *ev)
+{
+ nautilus_window_close (servant->window);
+}
+
static void
impl_Nautilus_ViewWindow__destroy(BonoboObject *obj, impl_POA_Nautilus_ViewWindow *servant)
@@ -155,12 +203,10 @@ static void nautilus_window_about_cb (GtkWidget *widget,
static void
file_menu_close_cb (GtkWidget *widget,
- gpointer data)
+ gpointer data)
{
- GtkWidget *window;
-
- window = GTK_WIDGET (data);
- gtk_widget_destroy(window);
+ g_assert (NAUTILUS_IS_WINDOW (data));
+ nautilus_window_close (NAUTILUS_WINDOW (data));
}
static void
@@ -884,6 +930,21 @@ nautilus_window_new(const char *app_id)
return GTK_WIDGET (gtk_object_new (nautilus_window_get_type(), "app_id", app_id, NULL));
}
+void
+nautilus_window_close (NautilusWindow *window)
+{
+ g_return_if_fail (NAUTILUS_IS_WINDOW (window));
+ gtk_widget_destroy (GTK_WIDGET (window));
+}
+
+
+/* The reason for this function is that
+ `gdk_pixbuf_render_pixmap_and_mask', as currently implemented, will
+ fail on a pixbuf with no alpha channel. This function will instead
+ return with NULL in *mask_retval in such a case. If that ever gets
+ fixed, this function should be removed.
+*/
+
static void
would_be_in_gdk_pixbuf_if_federico_wasnt_stubborn_pixbuf_render(GdkPixbuf *pixbuf,
GdkPixmap **pixmap,
diff --git a/src/ntl-window.h b/src/ntl-window.h
index 122a98ece..e337cf011 100644
--- a/src/ntl-window.h
+++ b/src/ntl-window.h
@@ -113,13 +113,19 @@ struct _NautilusWindow {
gboolean reset_to_idle : 1;
};
-GtkType nautilus_window_get_type(void);
-GtkWidget *nautilus_window_new(const char *app_id);
-void nautilus_window_set_content_view(NautilusWindow *window, NautilusView *content_view);
-void nautilus_window_add_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_remove_meta_view(NautilusWindow *window, NautilusView *meta_view);
-void nautilus_window_goto_uri(NautilusWindow *window, const char *uri);
-void nautilus_window_display_error(NautilusWindow *window, const char *error_msg);
+GtkType nautilus_window_get_type (void);
+GtkWidget *nautilus_window_new (const char *app_id);
+void nautilus_window_close (NautilusWindow *window);
+void nautilus_window_set_content_view (NautilusWindow *window,
+ NautilusView *content_view);
+void nautilus_window_add_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_remove_meta_view (NautilusWindow *window,
+ NautilusView *meta_view);
+void nautilus_window_goto_uri (NautilusWindow *window,
+ const char *uri);
+void nautilus_window_display_error (NautilusWindow *window,
+ const char *error_msg);
const char *nautilus_window_get_requested_uri(NautilusWindow *window);
BonoboUIHandler *nautilus_window_get_uih(NautilusWindow *window);