diff options
author | Jonathan Blandford <jrb@src.gnome.org> | 2005-03-31 18:43:05 (GMT) |
---|---|---|
committer | Jonathan Blandford <jrb@src.gnome.org> | 2005-03-31 18:43:05 (GMT) |
commit | 03ad9a29cbe1a89dfc5e8b94a74f6f86c4cba076 (patch) | |
tree | 9a2b40848e7f657691fd682673d71189301b676e /shell/ev-sidebar-links.c | |
parent | e8096c18ba580156072e8c84103bee6f6d3f0bfc (diff) |
Cr 31 13:27:50 2005 Jonathan Blandford <jrb@redhat.com>
Cr 31 13:27:50 2005 Jonathan Blandford <jrb@redhat.com>
* backend/ev-document.c: (ev_document_get_page_label):
* backend/ev-document.h:
* backend/ev-page-cache.c: (_ev_page_cache_new),
(ev_page_cache_get_page_label):
* backend/ev-page-cache.h:
* pdf/ev-poppler.cc:
* shell/ev-sidebar-links.c: (ev_sidebar_links_construct),
(links_page_num_func):
* shell/ev-sidebar-thumbnails.c:
(ev_sidebar_thumbnails_set_document):
* shell/ev-view.c: (status_message_from_link),
(ev_view_motion_notify_event):
* shell/ev-window.c: (document_supports_sidebar): Add in page
label support. It's not perfect yet, but it's the first 'feature'
in a while.
Also, fix a bogus comment noticed by crispin.
VS: Modified Files:
Diffstat (limited to 'shell/ev-sidebar-links.c')
-rw-r--r-- | shell/ev-sidebar-links.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/shell/ev-sidebar-links.c b/shell/ev-sidebar-links.c index 03ea9e9..a278034 100644 --- a/shell/ev-sidebar-links.c +++ b/shell/ev-sidebar-links.c @@ -51,7 +51,7 @@ static void links_page_num_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, - gpointer data); + EvSidebarLinks *sidebar_links); static void update_page_callback (EvPageCache *page_cache, gint current_page, EvSidebarLinks *sidebar_links); @@ -189,7 +189,7 @@ ev_sidebar_links_construct (EvSidebarLinks *ev_sidebar_links) gtk_tree_view_column_pack_end (GTK_TREE_VIEW_COLUMN (column), renderer, FALSE); gtk_tree_view_column_set_cell_data_func (GTK_TREE_VIEW_COLUMN (column), renderer, (GtkTreeCellDataFunc) links_page_num_func, - NULL, NULL); + ev_sidebar_links, NULL); } @@ -207,7 +207,7 @@ links_page_num_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, - gpointer data) + EvSidebarLinks *sidebar_links) { EvLink *link; @@ -217,12 +217,19 @@ links_page_num_func (GtkTreeViewColumn *tree_column, if (link != NULL && ev_link_get_link_type (link) == EV_LINK_TYPE_PAGE) { - gchar *markup = g_strdup_printf ("<i>%d</i>", ev_link_get_page (link)); + gchar *page_label; + gchar *page_string; + + page_label = ev_page_cache_get_page_label (sidebar_links->priv->page_cache, ev_link_get_page (link)); + page_string = g_markup_printf_escaped ("<i>%s</i>", page_label); + g_object_set (cell, - "markup", markup, + "markup", page_string, "visible", TRUE, NULL); - g_free (markup); + + g_free (page_label); + g_free (page_string); } else { g_object_set (cell, "visible", FALSE, |