From: Carlos Garcia Campos Date: Fri, 3 Sep 2010 08:25:46 +0000 (+0200) Subject: [libdocument] Add find_link_page method to EvDocumentLinks interface X-Git-Tag: EVINCE_2_91_0~64 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=5e112daa413bb9520a1818b4068fb7e9143043e6;p=evince.git [libdocument] Add find_link_page method to EvDocumentLinks interface Very often we only need to know the page of a named destination, for example when creating the outline. For some backends getting only the page is much faster than creating the destination. --- diff --git a/libdocument/ev-document-links.c b/libdocument/ev-document-links.c index 48dde7fc..0cddb405 100644 --- a/libdocument/ev-document-links.c +++ b/libdocument/ev-document-links.c @@ -77,6 +77,20 @@ ev_document_links_find_link_dest (EvDocumentLinks *document_links, return retval; } +gint +ev_document_links_find_link_page (EvDocumentLinks *document_links, + const gchar *link_name) +{ + EvDocumentLinksInterface *iface = EV_DOCUMENT_LINKS_GET_IFACE (document_links); + gint retval; + + ev_document_doc_mutex_lock (); + retval = iface->find_link_page (document_links, link_name); + ev_document_doc_mutex_unlock (); + + return retval; +} + /* Helper functions */ gint ev_document_links_get_dest_page (EvDocumentLinks *document_links, diff --git a/libdocument/ev-document-links.h b/libdocument/ev-document-links.h index 1c507e71..36fa2549 100644 --- a/libdocument/ev-document-links.h +++ b/libdocument/ev-document-links.h @@ -67,6 +67,8 @@ struct _EvDocumentLinksInterface EvPage *page); EvLinkDest *(* find_link_dest) (EvDocumentLinks *document_links, const gchar *link_name); + gint (* find_link_page) (EvDocumentLinks *document_links, + const gchar *link_name); }; GType ev_document_links_get_type (void) G_GNUC_CONST; @@ -77,6 +79,8 @@ EvMappingList *ev_document_links_get_links (EvDocumentLinks *document_ EvPage *page); EvLinkDest *ev_document_links_find_link_dest (EvDocumentLinks *document_links, const gchar *link_name); +gint ev_document_links_find_link_page (EvDocumentLinks *document_links, + const gchar *link_name); gint ev_document_links_get_dest_page (EvDocumentLinks *document_links, EvLinkDest *dest); gchar *ev_document_links_get_dest_page_label (EvDocumentLinks *document_links,