X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=thumbnailer%2Fevince-thumbnailer.c;h=1c0ba0b4e1aa95bb823ceb8ef0f0437abfc9a934;hb=d89b1cb89ef2d589befbe7a7f0c9732ff72ecc7b;hp=f9930bbff3f7f6655fa1172e7604c5f3522b086f;hpb=f332d42bc834d6a7b0ec58bb8e073e63bc619f63;p=evince.git diff --git a/thumbnailer/evince-thumbnailer.c b/thumbnailer/evince-thumbnailer.c index f9930bbf..1c0ba0b4 100644 --- a/thumbnailer/evince-thumbnailer.c +++ b/thumbnailer/evince-thumbnailer.c @@ -20,10 +20,11 @@ #include #include #include +#include #include -#include #include +#include #include @@ -33,44 +34,36 @@ static gboolean evince_thumbnail_pngenc_get (const char *uri, const char *thumbnail, int size) { EvDocument *document = NULL; - char *mime_type; 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 && - error->code == EV_DOCUMENT_ERROR_ENCRYPTED) { + error->code == EV_DOCUMENT_ERROR_ENCRYPTED) { /* FIXME: Create a thumb for cryp docs */ + 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 - (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 (strcmp(mime_type,"application/pdf")==0) { - overlaid_icon_name = "pdf-icon.png"; - } - if (overlaid_icon_name) { GdkPixbuf *overlaid_pixbuf;