From 6b9aeb5d0b86d0002db107ad79af550a4e39f07a Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 07 Jan 2007 16:28:00 +0000 Subject: Add image handling support. Fixes bugs #310008 and #325047. Images 2007-01-07 Carlos Garcia Campos * configure.ac: * data/evince-ui.xml: * pdf/ev-poppler.cc: (pdf_document_images_get_images), (pdf_document_document_images_iface_init): * backend/Makefile.am: * backend/ev-document-images.[ch]: * backend/ev-image.[ch]: * lib/ev-file-helpers.[ch]: (ev_tmp_filename): * shell/ev-jobs.[ch]: (ev_job_render_new), (ev_job_render_run), (ev_job_xfer_run): * shell/ev-pixbuf-cache.[ch]: (dispose_cache_job_info), (move_one_job), (copy_job_to_job_info), (add_job_if_needed), (ev_pixbuf_cache_get_image_mapping): * shell/ev-window.c: (view_menu_link_popup), (view_menu_image_popup), (view_menu_popup_cb), (ev_window_dispose), (image_save_dialog_response_cb), (ev_view_popup_cmd_save_image_as), (ev_view_popup_cmd_copy_image): * shell/ev-view-private.h: * shell/ev-view.c: (ev_view_get_image_at_location), (ev_view_do_popup_menu), (ev_view_popup_menu), (ev_view_button_press_event), (ev_view_drag_data_get), (ev_view_drag_motion), (ev_view_drag_data_received), (ev_view_motion_notify_event), (ev_view_button_release_event), (ev_view_finalize), (ev_view_class_init): Add image handling support. Fixes bugs #310008 and #325047. Images selection is not supported yet. svn path=/trunk/; revision=2194 --- (limited to 'shell/ev-jobs.c') diff --git a/shell/ev-jobs.c b/shell/ev-jobs.c index e54812c..21beaea 100644 --- a/shell/ev-jobs.c +++ b/shell/ev-jobs.c @@ -2,6 +2,7 @@ #include "ev-job-queue.h" #include "ev-document-thumbnails.h" #include "ev-document-links.h" +#include "ev-document-images.h" #include "ev-document-factory.h" #include "ev-file-helpers.h" #include "ev-document-fonts.h" @@ -260,6 +261,7 @@ ev_job_render_new (EvDocument *document, GdkColor *text, GdkColor *base, gboolean include_links, + gboolean include_images, gboolean include_text, gboolean include_selection) { @@ -278,6 +280,7 @@ ev_job_render_new (EvDocument *document, job->text = *text; job->base = *base; job->include_links = include_links; + job->include_images = include_images; job->include_text = include_text; job->include_selection = include_selection; @@ -323,6 +326,10 @@ ev_job_render_run (EvJobRender *job) job->link_mapping = ev_document_links_get_links (EV_DOCUMENT_LINKS (EV_JOB (job)->document), job->rc->page); + if (job->include_images && EV_IS_DOCUMENT_IMAGES (EV_JOB (job)->document)) + job->image_mapping = + ev_document_images_get_images (EV_DOCUMENT_IMAGES (EV_JOB (job)->document), + job->rc->page); if (job->include_text && EV_IS_SELECTION (EV_JOB (job)->document)) job->text_mapping = ev_selection_get_selection_map (EV_SELECTION (EV_JOB (job)->document), @@ -507,7 +514,7 @@ ev_job_xfer_run (EvJobXfer *job) /* We'd like to keep extension of source uri since * it helps to resolve some mime types, say cbz */ - tmp_name = ev_tmp_filename (); + tmp_name = ev_tmp_filename (NULL); base_name = gnome_vfs_uri_extract_short_name (source_uri); job->local_uri = g_strconcat ("file:", tmp_name, "-", base_name, NULL); g_free (base_name); -- cgit v0.9.1