Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/libdocument/ev-link.c
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@yandex.ru>2007-01-28 20:43:21 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2007-01-28 20:43:21 (GMT)
commit4bb9bc83e2de5cd88fa2e3f81a7da6e7d81cbf99 (patch)
tree383ed65fe7f662c84084859ec42a655a1772f058 /libdocument/ev-link.c
parent40bdbed8a127356fadf9790aa0b479854c1c1d22 (diff)
Implements another history variant
2007-01-28 Nickolay V. Shmyrev <nshmyrev@yandex.ru> * NOTES: * backend/djvu/djvu-links.c: (djvu_links_get_links_model): * backend/pdf/ev-poppler.cc: * libdocument/ev-document-links.h: * libdocument/ev-link.c: (ev_link_get_page): * libdocument/ev-link.h: * shell/ev-history.c: (ev_history_init), (ev_history_class_init), (ev_history_add_link): * shell/ev-history.h: * shell/ev-navigation-action.c: (activate_menu_item_cb), (new_history_menu_item), (build_menu): * shell/ev-page-cache.c: (ev_page_cache_set_current_page_history): * shell/ev-sidebar-links.c: (create_loading_model), (print_section_cb), (ev_sidebar_links_construct), (fill_page_labels), (update_page_callback_foreach), (update_page_callback), (job_finished_callback): * shell/ev-view.c: (ev_view_handle_link): * shell/ev-window.c: (ev_window_find_chapter), (ev_window_add_history), (view_handle_link_cb), (history_changed_cb): Implements another history variant svn path=/trunk/; revision=2264
Diffstat (limited to 'libdocument/ev-link.c')
-rw-r--r--libdocument/ev-link.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libdocument/ev-link.c b/libdocument/ev-link.c
index 8561914..17e4421 100644
--- a/libdocument/ev-link.c
+++ b/libdocument/ev-link.c
@@ -224,3 +224,23 @@ ev_link_mapping_find (GList *link_mapping,
return link;
}
+gint
+ev_link_get_page (EvLink *link)
+{
+ EvLinkAction *action;
+ EvLinkDest *dest;
+
+ action = ev_link_get_action (link);
+ if (!action)
+ return -1;
+
+ if (ev_link_action_get_action_type (action) !=
+ EV_LINK_ACTION_TYPE_GOTO_DEST)
+ return -1;
+
+ dest = ev_link_action_get_dest (action);
+ if (dest)
+ return ev_link_dest_get_page (dest);
+
+ return -1;
+}