+/*
+ * The menus.
+ */
+BonoboUIVerb verbs [] = {
+ BONOBO_UI_UNSAFE_VERB ("FileOpen", container_open_cmd),
+ BONOBO_UI_UNSAFE_VERB ("FileClose", container_close_cmd),
+ BONOBO_UI_UNSAFE_VERB ("FileExit", container_exit_cmd),
+
+ BONOBO_UI_UNSAFE_VERB ("HelpAbout", container_about_cmd),
+
+ BONOBO_UI_UNSAFE_VERB ("DebugDumpXml", container_dump_cmd),
+
+ BONOBO_UI_VERB_END
+};
+
+
+extern "C" {
+ static gboolean
+ open_pdf (Container *container, const char *name)
+ {
+ BonoboObjectClient *object;
+ BonoboStream *stream;
+ Bonobo_PersistStream persist;
+ Component *comp;
+ CORBA_Environment ev;
+
+ g_return_val_if_fail (container != NULL, FALSE);
+ g_return_val_if_fail (container->view_widget == NULL, FALSE);
+
+ comp = container_activate_component (
+ container, "OAFIID:GNOME_XPDF_Embeddable");
+
+ if (!comp || !(object = comp->server)) {
+ gnome_error_dialog (_("Could not launch bonobo object."));
+ return FALSE;
+ }
+
+ CORBA_exception_init (&ev);
+ persist = Bonobo_Unknown_queryInterface (
+ bonobo_object_corba_objref (BONOBO_OBJECT (object)),
+ "IDL:Bonobo/PersistStream:1.0", &ev);
+
+ if (ev._major != CORBA_NO_EXCEPTION ||
+ persist == CORBA_OBJECT_NIL) {
+ gnome_error_dialog ("Panic: component doesn't implement PersistStream.");
+ return FALSE;
+ }
+
+ stream = bonobo_stream_open (BONOBO_IO_DRIVER_FS, name, Bonobo_Storage_READ, 0);
+
+ if (stream == NULL) {
+ char *err = g_strconcat (_("Could not open "), name, NULL);
+ gnome_error_dialog_parented (err, GTK_WINDOW(container->app));
+ g_free (err);
+ return FALSE;
+ }
+
+ Bonobo_PersistStream_load (persist,
+ (Bonobo_Stream) bonobo_object_corba_objref (BONOBO_OBJECT (stream)),
+ "application/pdf",
+ &ev);
+
+ Bonobo_Unknown_unref (persist, &ev);
+ CORBA_Object_release (persist, &ev);
+ CORBA_exception_free (&ev);
+
+/* bonobo_view_frame_view_do_verb (comp->view_frame, "ZoomFit"); */
+ return TRUE;
+ }