]> www.fi.muni.cz Git - evince.git/blobdiff - properties/ev-properties-main.c
Updated Brazilian Portuguese translation.
[evince.git] / properties / ev-properties-main.c
index 15988cfc6166e15ad4308f516c9b4e71212f2fb3..e0631f9765307fc9ea7dc84c0393f1875e00005a 100644 (file)
  *
  */
 
-#include "ev-properties-view.h"
-#include "ev-backends-manager.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);
@@ -87,10 +89,11 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
        EvDocument *document;
        GList *pages = NULL;
        NautilusFileInfo *file;
-       char *uri = NULL;
+       gchar *uri = NULL;
+       gchar *mime_type = NULL;
        GtkWidget *page, *label;
        NautilusPropertyPage *property_page;
-       
+
        /* only add properties page if a single file is selected */
        if (files == NULL || files->next != NULL)
                goto end;
@@ -98,18 +101,20 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
 
        /* okay, make the page */
        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;
        }
        
-       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);
@@ -121,6 +126,8 @@ ev_properties_get_pages (NautilusPropertyPageProvider *provider,
 
 end:
        g_free (uri);
+       g_free (mime_type);
+       
        return pages;
 }
 
@@ -131,16 +138,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_backends_manager_init ();
+        ev_init ();
 }
 
 void
 nautilus_module_shutdown (void)
 {
+        ev_shutdown ();
 }
 
 void
@@ -153,4 +157,3 @@ nautilus_module_list_types (const GType **types,
        *types = type_list;
        *num_types = G_N_ELEMENTS (type_list);
 }
-