]> www.fi.muni.cz Git - evince.git/blobdiff - properties/ev-properties-main.c
Make session manager code compile for w32. These changes have been taken
[evince.git] / properties / ev-properties-main.c
index 87f4a59012927a8b2965bf6c443e138ba06b81fb..6af16f36ad7301ecc9fcff69eee13c019a084c08 100644 (file)
  *
  */
 
-#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);
@@ -46,7 +49,7 @@ static GList *ev_properties_get_pages
 static void
 ev_properties_plugin_register_type (GTypeModule *module)
 {
-       static const GTypeInfo info = {
+       const GTypeInfo info = {
                sizeof (GObjectClass),
                (GBaseInitFunc) NULL,
                (GBaseFinalizeFunc) NULL,
@@ -57,7 +60,7 @@ ev_properties_plugin_register_type (GTypeModule *module)
                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
@@ -82,7 +85,7 @@ static GList *
 ev_properties_get_pages (NautilusPropertyPageProvider *provider,
                         GList *files)
 {
-       GError *error;
+       GError *error = NULL;
        EvDocument *document;
        GList *pages = NULL;
        NautilusFileInfo *file;
@@ -95,19 +98,20 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
                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)) {
+       document = ev_document_factory_get_document (uri, &error);
+
+       if (error) {
                g_error_free (error);
                goto end;
        }
+       
+       if (!document)
+               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);
@@ -129,14 +133,13 @@ nautilus_module_initialize (GTypeModule *module)
        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
@@ -149,4 +152,3 @@ nautilus_module_list_types (const GType **types,
        *types = type_list;
        *num_types = G_N_ELEMENTS (type_list);
 }
-