X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=inline;f=libview%2Fev-jobs.c;h=561a0f98aaf1b179c67b3ba4865c24368ba85378;hb=e5ff2614f59b0076f8a379e490d387efbf0a1cbc;hp=e1522757a293537aec23fd4315fbd8391d8c91dd;hpb=38af76937af5496e20ab4d5c8fad138d3a820f92;p=evince.git diff --git a/libview/ev-jobs.c b/libview/ev-jobs.c index e1522757..561a0f98 100644 --- a/libview/ev-jobs.c +++ b/libview/ev-jobs.c @@ -21,7 +21,6 @@ #include #include "ev-jobs.h" -#include "ev-document-thumbnails.h" #include "ev-document-links.h" #include "ev-document-images.h" #include "ev-document-forms.h" @@ -332,6 +331,38 @@ ev_job_links_dispose (GObject *object) (* G_OBJECT_CLASS (ev_job_links_parent_class)->dispose) (object); } +static gboolean +fill_page_labels (GtkTreeModel *tree_model, + GtkTreePath *path, + GtkTreeIter *iter, + EvJob *job) +{ + EvDocumentLinks *document_links; + EvLink *link; + gchar *page_label; + + gtk_tree_model_get (tree_model, iter, + EV_DOCUMENT_LINKS_COLUMN_LINK, &link, + -1); + + if (!link) + return FALSE; + + document_links = EV_DOCUMENT_LINKS (job->document); + page_label = ev_document_links_get_link_page_label (document_links, link); + if (!page_label) + return FALSE; + + gtk_tree_store_set (GTK_TREE_STORE (tree_model), iter, + EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL, page_label, + -1); + + g_free (page_label); + g_object_unref (link); + + return FALSE; +} + static gboolean ev_job_links_run (EvJob *job) { @@ -343,7 +374,9 @@ ev_job_links_run (EvJob *job) ev_document_doc_mutex_lock (); job_links->model = ev_document_links_get_links_model (EV_DOCUMENT_LINKS (job->document)); ev_document_doc_mutex_unlock (); - + + gtk_tree_model_foreach (job_links->model, (GtkTreeModelForeachFunc)fill_page_labels, job); + ev_job_succeeded (job); return FALSE; @@ -765,6 +798,7 @@ ev_job_thumbnail_run (EvJob *job) { EvJobThumbnail *job_thumb = EV_JOB_THUMBNAIL (job); EvRenderContext *rc; + GdkPixbuf *pixbuf; EvPage *page; ev_debug_message (DEBUG_JOBS, "%d (%p)", job_thumb->page, job); @@ -776,11 +810,13 @@ ev_job_thumbnail_run (EvJob *job) rc = ev_render_context_new (page, job_thumb->rotation, job_thumb->scale); g_object_unref (page); - job_thumb->thumbnail = ev_document_thumbnails_get_thumbnail (EV_DOCUMENT_THUMBNAILS (job->document), - rc, TRUE); + pixbuf = ev_document_get_thumbnail (job->document, rc); g_object_unref (rc); ev_document_doc_mutex_unlock (); + job_thumb->thumbnail = ev_document_misc_get_thumbnail_frame (-1, -1, pixbuf); + g_object_unref (pixbuf); + ev_job_succeeded (job); return FALSE;