X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=backend%2Fdjvu%2Fdjvu-document.c;h=88c7b0c074114d8b1fd0d5f2028fe6189dce1020;hb=e63cb09538113fa2695bc2877902702109eed303;hp=40950c7829c8bf68fab7f56f5d994af717097cba;hpb=c86fea736694b17beb9fb621fceac7e2970afe08;p=evince.git diff --git a/backend/djvu/djvu-document.c b/backend/djvu/djvu-document.c index 40950c78..88c7b0c0 100644 --- a/backend/djvu/djvu-document.c +++ b/backend/djvu/djvu-document.c @@ -32,9 +32,9 @@ #include "ev-selection.h" #include "ev-file-helpers.h" -#include -#include -#include +#include +#include +#include #include #define SCALE_FACTOR 0.2 @@ -46,12 +46,11 @@ enum { struct _DjvuDocumentClass { - GObjectClass parent_class; + EvDocumentClass parent_class; }; typedef struct _DjvuDocumentClass DjvuDocumentClass; -static void djvu_document_document_iface_init (EvDocumentIface *iface); static void djvu_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface); static void djvu_document_file_exporter_iface_init (EvFileExporterIface *iface); static void djvu_document_find_iface_init (EvDocumentFindIface *iface); @@ -75,7 +74,7 @@ ev_djvu_error_quark (void) { static GQuark q = 0; if (q == 0) - q = g_quark_from_static_string ("ev-djvu-quark"); + q = g_quark_from_string ("ev-djvu-quark"); return q; } @@ -97,9 +96,9 @@ handle_message (const ddjvu_message_t *msg, GError **error) } if (error) { - g_set_error (error, EV_DJVU_ERROR, 0, error_str); + g_set_error_literal (error, EV_DJVU_ERROR, 0, error_str); } else { - g_warning (error_str); + g_warning ("%s", error_str); } g_free (error_str); @@ -168,6 +167,10 @@ djvu_document_load (EvDocument *document, if (!doc) { g_free (filename); + g_set_error_literal (error, + EV_DOCUMENT_ERROR, + EV_DOCUMENT_ERROR_INVALID, + _("DJVU document has incorrect format")); return FALSE; } @@ -178,10 +181,10 @@ djvu_document_load (EvDocument *document, djvu_wait_for_message (djvu_document, DDJVU_DOCINFO, &djvu_error); if (djvu_error) { - g_set_error (error, - EV_DOCUMENT_ERROR, - EV_DOCUMENT_ERROR_INVALID, - djvu_error->message); + g_set_error_literal (error, + EV_DOCUMENT_ERROR, + EV_DOCUMENT_ERROR_INVALID, + djvu_error->message); g_error_free (djvu_error); g_free (filename); ddjvu_document_release (djvu_document->d_document); @@ -194,10 +197,10 @@ djvu_document_load (EvDocument *document, djvu_handle_events (djvu_document, TRUE, &djvu_error); if (djvu_error) { - g_set_error (error, - EV_DOCUMENT_ERROR, - EV_DOCUMENT_ERROR_INVALID, - djvu_error->message); + g_set_error_literal (error, + EV_DOCUMENT_ERROR, + EV_DOCUMENT_ERROR_INVALID, + djvu_error->message); g_error_free (djvu_error); g_free (filename); ddjvu_document_release (djvu_document->d_document); @@ -241,11 +244,11 @@ djvu_document_load (EvDocument *document, g_free (filename); if (missing_files) { - g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_EXIST, - _("The document is composed by several files. " - "One or more of such files cannot be accessed.")); + g_set_error_literal (error, + G_FILE_ERROR, + G_FILE_ERROR_EXIST, + _("The document is composed of several files. " + "One or more of such files cannot be accessed.")); return FALSE; } @@ -408,30 +411,16 @@ djvu_document_finalize (GObject *object) static void djvu_document_class_init (DjvuDocumentClass *klass) { - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + EvDocumentClass *ev_document_class = EV_DOCUMENT_CLASS (klass); gobject_class->finalize = djvu_document_finalize; -} - -static EvDocumentInfo * -djvu_document_get_info (EvDocument *document) -{ - EvDocumentInfo *info; - - info = g_new0 (EvDocumentInfo, 1); - return info; -} - -static void -djvu_document_document_iface_init (EvDocumentIface *iface) -{ - iface->load = djvu_document_load; - iface->save = djvu_document_save; - iface->get_n_pages = djvu_document_get_n_pages; - iface->get_page_size = djvu_document_get_page_size; - iface->render = djvu_document_render; - iface->get_info = djvu_document_get_info; + ev_document_class->load = djvu_document_load; + ev_document_class->save = djvu_document_save; + ev_document_class->get_n_pages = djvu_document_get_n_pages; + ev_document_class->get_page_size = djvu_document_get_page_size; + ev_document_class->render = djvu_document_render; } static gchar * @@ -708,9 +697,9 @@ djvu_document_find_iface_init (EvDocumentFindIface *iface) static GList * djvu_document_links_get_links (EvDocumentLinks *document_links, - gint page) + EvPage *page) { - return djvu_links_get_links (document_links, page, SCALE_FACTOR); + return djvu_links_get_links (document_links, page->index, SCALE_FACTOR); } static void