]> www.fi.muni.cz Git - evince.git/blobdiff - thumbnailer/evince-thumbnailer.c
Added missing files.
[evince.git] / thumbnailer / evince-thumbnailer.c
index f9930bbff3f7f6655fa1172e7604c5f3522b086f..1c0ba0b4e1aa95bb823ceb8ef0f0437abfc9a934 100644 (file)
 #include <libgnomevfs/gnome-vfs-uri.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <libgnomevfs/gnome-vfs-init.h>
 #include <libgnomevfs/gnome-vfs-uri.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <libgnomevfs/gnome-vfs-init.h>
+#include <libgnomevfs/gnome-vfs-ops.h>
 
 #include <ev-document.h>
 
 #include <ev-document.h>
-#include <ev-document-types.h>
 #include <ev-document-thumbnails.h>
 #include <ev-document-thumbnails.h>
+#include <ev-document-factory.h>
 
 #include <string.h>
 
 
 #include <string.h>
 
@@ -33,44 +34,36 @@ static gboolean
 evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail, int size)
 {
        EvDocument *document = NULL;
 evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail, int size)
 {
        EvDocument *document = NULL;
-       char *mime_type;
        GError *error = NULL;
        GdkPixbuf *pixbuf;
        GError *error = NULL;
        GdkPixbuf *pixbuf;
-       GType document_type;
 
 
-       mime_type = gnome_vfs_get_mime_type (uri);
-       if (mime_type == NULL)
-               return FALSE;
-
-       document_type = ev_document_type_lookup (mime_type);
-       if (document_type==G_TYPE_INVALID)
-               return FALSE;
+       document = ev_document_factory_get_document  (uri, &error);
 
 
-       document = g_object_new (document_type, NULL);
-
-       if (!ev_document_load (document, uri, &error)) {
+       if (error) {
                if (error->domain == EV_DOCUMENT_ERROR &&
                if (error->domain == EV_DOCUMENT_ERROR &&
-                   error->code == EV_DOCUMENT_ERROR_ENCRYPTED) {
+                   error->code == EV_DOCUMENT_ERROR_ENCRYPTED) {
                        /* FIXME: Create a thumb for cryp docs */
                        /* FIXME: Create a thumb for cryp docs */
+                       g_error_free (error);
+                       return FALSE;
                }
                g_error_free (error);
                return FALSE;
        }
                }
                g_error_free (error);
                return FALSE;
        }
+       
+       if (document == NULL) {
+               return FALSE;
+       }
 
        if (!EV_IS_DOCUMENT_THUMBNAILS (document)) {
                return FALSE;
        }
 
        pixbuf = ev_document_thumbnails_get_thumbnail
 
        if (!EV_IS_DOCUMENT_THUMBNAILS (document)) {
                return FALSE;
        }
 
        pixbuf = ev_document_thumbnails_get_thumbnail
-                       (EV_DOCUMENT_THUMBNAILS (document), 1, size, FALSE);
+                       (EV_DOCUMENT_THUMBNAILS (document), 0, 0, size, FALSE);
        
        if (pixbuf != NULL) {
                const char *overlaid_icon_name = NULL;
 
        
        if (pixbuf != NULL) {
                const char *overlaid_icon_name = NULL;
 
-               if (strcmp(mime_type,"application/pdf")==0) {
-                       overlaid_icon_name = "pdf-icon.png";
-               }
-
                if (overlaid_icon_name) {
                        GdkPixbuf *overlaid_pixbuf;
 
                if (overlaid_icon_name) {
                        GdkPixbuf *overlaid_pixbuf;