#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-types.h>
#include <ev-document-thumbnails.h>
+#include <ev-document-factory.h>
#include <string.h>
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), 0, 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;