diff options
author | Marco Pesenti Gritti <marco@gnome.org> | 2005-01-07 12:16:43 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-01-07 12:16:43 (GMT) |
commit | 8b3ebe4d7024547993d3b4660f3f22036e327be3 (patch) | |
tree | 0862e57165cef77db894dd5123ec4b81ed42738f /shell | |
parent | 3a87fe3d6bd17d8151c675c9b4e9294619127b1b (diff) |
Add a bookmark object to the backend and use it instead of get_values
2005-01-07 Marco Pesenti Gritti <marco@gnome.org>
* backend/Makefile.am:
* backend/ev-bookmark.c: (ev_bookmark_type_get_type),
(ev_bookmark_get_title), (ev_bookmark_set_title),
(ev_bookmark_get_bookmark_type), (ev_bookmark_set_bookmark_type),
(ev_bookmark_get_page), (ev_bookmark_set_page),
(ev_bookmark_get_property), (ev_bookmark_set_property),
(ev_window_dispose), (ev_bookmark_init), (ev_bookmark_class_init),
(ev_bookmark_new):
* backend/ev-bookmark.h:
* backend/ev-document-bookmarks.c:
(ev_document_bookmarks_get_bookmark):
* backend/ev-document-bookmarks.h:
* pdf/xpdf/pdf-document.cc:
* shell/ev-sidebar-bookmarks.c: (do_one_iteration):
Add a bookmark object to the backend and use it instead of get_values
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-sidebar-bookmarks.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/shell/ev-sidebar-bookmarks.c b/shell/ev-sidebar-bookmarks.c index b215e1e..6cc2eb0 100644 --- a/shell/ev-sidebar-bookmarks.c +++ b/shell/ev-sidebar-bookmarks.c @@ -207,34 +207,33 @@ static gboolean do_one_iteration (EvSidebarBookmarks *ev_sidebar_bookmarks) { EvSidebarBookmarksPrivate *priv = ev_sidebar_bookmarks->priv; + EvBookmark *bookmark; IdleStackData *stack_data; GtkTreeIter tree_iter; - gchar *title = NULL; - EvDocumentBookmarksType type; EvDocumentBookmarksIter *child_iter; - gint page = -1; + gint page; g_assert (priv->idle_stack); stack_data = (IdleStackData *) priv->idle_stack->data; - if (! ev_document_bookmarks_get_values (EV_DOCUMENT_BOOKMARKS (priv->current_document), - stack_data->bookmarks_iter, - &title, - &type, - &page)) { + bookmark = ev_document_bookmarks_get_bookmark + (EV_DOCUMENT_BOOKMARKS (priv->current_document), + stack_data->bookmarks_iter); + if (bookmark == NULL) { g_warning ("mismatch in model. No values available at current level.\n"); return FALSE; } + page = ev_bookmark_get_page (bookmark); gtk_tree_store_append (GTK_TREE_STORE (priv->model), &tree_iter, stack_data->tree_iter); gtk_tree_store_set (GTK_TREE_STORE (priv->model), &tree_iter, - BOOKMARKS_COLUMN_MARKUP, title, + BOOKMARKS_COLUMN_MARKUP, ev_bookmark_get_title (bookmark), BOOKMARKS_COLUMN_PAGE_NUM, page, /* FIXME: Handle links for real. */ BOOKMARKS_COLUMN_PAGE_VALID, (page >= 0), -1); - g_free (title); + g_object_unref (bookmark); child_iter = ev_document_bookmarks_get_child (EV_DOCUMENT_BOOKMARKS (priv->current_document), stack_data->bookmarks_iter); |