* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
*
*/
-#include "ev-properties-view.h"
-#include "ev-document-factory.h"
-
#include <config.h>
+
#include <string.h>
+
#include <glib/gi18n-lib.h>
-#include <gtk/gtklabel.h>
+#include <gtk/gtk.h>
+
#include <libnautilus-extension/nautilus-extension-types.h>
#include <libnautilus-extension/nautilus-property-page-provider.h>
+#include <evince-document.h>
+#include "ev-properties-view.h"
+
static GType epp_type = 0;
static void property_page_provider_iface_init
(NautilusPropertyPageProviderIface *iface);
static void
ev_properties_plugin_register_type (GTypeModule *module)
{
- static const GTypeInfo info = {
+ const GTypeInfo info = {
sizeof (GObjectClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
0,
(GInstanceInitFunc) NULL
};
- static const GInterfaceInfo property_page_provider_iface_info = {
+ const GInterfaceInfo property_page_provider_iface_info = {
(GInterfaceInitFunc)property_page_provider_iface_init,
NULL,
NULL
EvDocument *document;
GList *pages = NULL;
NautilusFileInfo *file;
- char *uri = NULL;
+ gchar *uri = NULL;
+ gchar *mime_type = NULL;
GtkWidget *page, *label;
NautilusPropertyPage *property_page;
- GType type = G_TYPE_INVALID;
/* only add properties page if a single file is selected */
if (files == NULL || files->next != NULL)
file = files->data;
/* okay, make the page */
-
- if (document == NULL)
- goto end;
-
uri = nautilus_file_info_get_uri (file);
- document = ev_document_factory_get_document (uri, &error);
+ mime_type = nautilus_file_info_get_mime_type (file);
+
+ document = ev_backends_manager_get_document (mime_type);
+ if (!document)
+ goto end;
+ ev_document_load (document, uri, &error);
if (error) {
g_error_free (error);
goto end;
}
-
+
label = gtk_label_new (_("Document"));
- page = ev_properties_view_new ();
+ page = ev_properties_view_new (uri);
ev_properties_view_set_info (EV_PROPERTIES_VIEW (page),
ev_document_get_info (document));
gtk_widget_show (page);
end:
g_free (uri);
+ g_free (mime_type);
+
return pages;
}
ev_properties_plugin_register_type (module);
ev_properties_view_register_type (module);
- /* set up translation catalog */
- bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ ev_init ();
}
void
nautilus_module_shutdown (void)
{
+ ev_shutdown ();
}
void
*types = type_list;
*num_types = G_N_ELEMENTS (type_list);
}
-