]> www.fi.muni.cz Git - evince.git/commitdiff
[pdf] Implement document_links_find_link_page()
authorCarlos Garcia Campos <carlosgc@gnome.org>
Fri, 3 Sep 2010 08:28:40 +0000 (10:28 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Fri, 3 Sep 2010 08:33:03 +0000 (10:33 +0200)
backend/pdf/ev-poppler.cc

index a8df75ba39dfc53e3a9e896848035a9689776e7a..d68c7b173a97219f9fe2d2f9231bbfffba5e6e4b 100644 (file)
@@ -1369,6 +1369,25 @@ pdf_document_links_find_link_dest (EvDocumentLinks  *document_links,
        return ev_dest;
 }
 
+static gint
+pdf_document_links_find_link_page (EvDocumentLinks  *document_links,
+                                  const gchar      *link_name)
+{
+       PdfDocument *pdf_document;
+       PopplerDest *dest;
+       gint         retval = -1;
+
+       pdf_document = PDF_DOCUMENT (document_links);
+       dest = poppler_document_find_dest (pdf_document->document,
+                                          link_name);
+       if (dest) {
+               retval = dest->page_num - 1;
+               poppler_dest_free (dest);
+       }
+
+       return retval;
+}
+
 static void
 pdf_document_document_links_iface_init (EvDocumentLinksInterface *iface)
 {
@@ -1376,6 +1395,7 @@ pdf_document_document_links_iface_init (EvDocumentLinksInterface *iface)
        iface->get_links_model = pdf_document_links_get_links_model;
        iface->get_links = pdf_document_links_get_links;
        iface->find_link_dest = pdf_document_links_find_link_dest;
+       iface->find_link_page = pdf_document_links_find_link_page;
 }
 
 static EvMappingList *