]> 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 c97f7fc2b0ed836b355365636108321b145fda82..6af16f36ad7301ecc9fcff69eee13c019a084c08 100644 (file)
  *
  */
 
-#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);
@@ -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
@@ -83,14 +86,12 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
                         GList *files)
 {
        GError *error = NULL;
-       char *mime;
        EvDocument *document;
        GList *pages = NULL;
        NautilusFileInfo *file;
        char *uri = 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)
@@ -98,22 +99,19 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
        file = files->data;
 
        /* okay, make the page */
-       mime = nautilus_file_info_get_mime_type (file);
-       document = ev_document_factory_get_from_mime (mime);
-       g_free (mime);
-
-       if (document == NULL)
-               goto end;
-
        uri = nautilus_file_info_get_uri (file);
-       if (!ev_document_load (document, uri, &error)) {
-               if (error) {
-                       g_error_free (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);
@@ -135,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
@@ -155,4 +152,3 @@ nautilus_module_list_types (const GType **types,
        *types = type_list;
        *num_types = G_N_ELEMENTS (type_list);
 }
-