]> www.fi.muni.cz Git - evince.git/blobdiff - backend/djvu/djvu-document.c
Use EvPage instead of page index to get links
[evince.git] / backend / djvu / djvu-document.c
index 0c996683e89d427b9eb04f0d03d202d975c177fb..88c7b0c074114d8b1fd0d5f2028fe6189dce1020 100644 (file)
@@ -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;
 }
@@ -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;
        }
 
@@ -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