* 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 "pdf-document.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
ev_properties_get_pages (NautilusPropertyPageProvider *provider,
GList *files)
{
- GError *error;
+ GError *error = NULL;
EvDocument *document;
GList *pages = NULL;
NautilusFileInfo *file;
- char *uri = NULL;
+ gchar *uri = NULL;
+ gchar *mime_type = NULL;
GtkWidget *page, *label;
NautilusPropertyPage *property_page;
goto end;
file = files->data;
- if (!nautilus_file_info_is_mime_type (file, "application/pdf")) {
- goto end;
- }
-
/* okay, make the page */
- document = EV_DOCUMENT (pdf_document_new ());
uri = nautilus_file_info_get_uri (file);
- if (!ev_document_load (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);
}
-