From c43d8117b5174476437718101d58117ad9191c84 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 07 Jan 2005 13:35:18 +0000 Subject: Add a way to open bookmarks 2005-01-07 Marco Pesenti Gritti * shell/ev-application.c: (ev_application_open), (ev_application_open_bookmark): * shell/ev-application.h: Add a way to open bookmarks * backend/ev-bookmark.c: (ev_bookmark_get_uri), (ev_bookmark_set_uri), (ev_bookmark_get_property), (ev_bookmark_set_property), (ev_bookmark_class_init), (ev_bookmark_new_title), (ev_bookmark_new_link), (ev_bookmark_new_external): Support for external uris, better constructors. * backend/ev-bookmark.h: * pdf/xpdf/pdf-document.cc: * shell/ev-sidebar-bookmarks.c: (selection_changed_cb): Handle external uris --- (limited to 'shell/ev-application.c') diff --git a/shell/ev-application.c b/shell/ev-application.c index 4f006cc..6fe50aa 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -29,8 +29,9 @@ #include #include #include +#include -#include +#include "ev-window.h" struct _EvApplicationPrivate { GList *windows; @@ -168,6 +169,32 @@ ev_application_open (EvApplication *application, GError *err) gtk_widget_destroy (GTK_WIDGET (chooser)); } +void +ev_application_open_bookmark (EvApplication *application, + EvDocument *document, + EvBookmark *bookmark, + GError *error) +{ + EvBookmarkType type; + const char *uri; + int page; + + type = ev_bookmark_get_bookmark_type (bookmark); + + switch (type) { + case EV_BOOKMARK_TYPE_TITLE: + break; + case EV_BOOKMARK_TYPE_LINK: + page = ev_bookmark_get_page (bookmark); + ev_document_set_page (document, page); + break; + case EV_BOOKMARK_TYPE_EXTERNAL_URI: + uri = ev_bookmark_get_uri (bookmark); + gnome_vfs_url_show (uri); + break; + } +} + static void ev_application_class_init (EvApplicationClass *ev_application_class) { -- cgit v0.9.1