#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>
EvDocument *document = NULL;
GError *error = NULL;
GdkPixbuf *pixbuf;
- GType document_type;
- char *mime_type = NULL;
- document_type = ev_document_type_lookup (uri, &mime_type, &error);
- if (document_type == G_TYPE_INVALID || error != NULL)
- return FALSE;
-
- document = g_object_new (document_type, NULL);
+ document = ev_document_factory_get_document (uri, &error);
- 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;