From e70119b293ab8a26bdea4a56407bb0f41f1e43aa Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Thu, 26 Jul 2007 14:53:17 +0000 Subject: Use capabilities to know which options should be offered by the print 2007-07-26 Carlos Garcia Campos * backend/dvi/dvi-document.c: (dvi_document_file_exporter_begin), (dvi_document_file_exporter_do_page), (dvi_document_file_exporter_get_capabilities), (dvi_document_file_exporter_iface_init): * backend/ps/ps-document.c: (ps_document_file_exporter_begin), (ps_document_file_exporter_do_page), (ps_document_file_exporter_get_capabilities), (ps_document_file_exporter_iface_init): * backend/djvu/djvu-document.c: (djvu_document_file_exporter_begin), (djvu_document_file_exporter_end), (djvu_document_file_exporter_get_capabilities), (djvu_document_file_exporter_iface_init): * backend/tiff/tiff-document.c: (tiff_document_file_exporter_begin), (tiff_document_file_exporter_get_capabilities), (tiff_document_document_file_exporter_iface_init): * backend/pdf/ev-poppler.cc: (pdf_document_file_exporter_begin), (pdf_document_file_exporter_do_page), (pdf_document_file_exporter_get_capabilities), (pdf_document_file_exporter_iface_init): * libdocument/ev-file-exporter.[ch]: (ev_file_exporter_begin), (ev_file_exporter_get_capabilities): * shell/ev-print-job.c: (ev_print_job_use_print_dialog_settings), (idle_print_handler), (ev_print_job_print): * shell/ev-jobs.c: (ev_job_print_run): * shell/ev-window.c: (ev_window_print_send), (ev_window_print_range): Use capabilities to know which options should be offered by the print dialog depending on the document backend. svn path=/trunk/; revision=2580 --- (limited to 'shell/ev-jobs.c') diff --git a/shell/ev-jobs.c b/shell/ev-jobs.c index 0f0a0da..d61185c 100644 --- a/shell/ev-jobs.c +++ b/shell/ev-jobs.c @@ -643,12 +643,13 @@ ev_job_print_do_page (EvJobPrint *job, gint page) void ev_job_print_run (EvJobPrint *job) { - EvDocument *document = EV_JOB (job)->document; - gint fd; - gint last_page; - gint first_page; - gint i; - gchar *filename; + EvDocument *document = EV_JOB (job)->document; + EvFileExporterContext fc; + gint fd; + gint last_page; + gint first_page; + gint i; + gchar *filename; g_return_if_fail (EV_IS_JOB_PRINT (job)); @@ -671,14 +672,17 @@ ev_job_print_run (EvJobPrint *job) first_page = ev_print_job_get_first_page (job); last_page = ev_print_job_get_last_page (job); + fc.format = g_ascii_strcasecmp (job->format, "pdf") == 0 ? + EV_FILE_FORMAT_PDF : EV_FILE_FORMAT_PS; + fc.filename = job->temp_file; + fc.first_page = MIN (first_page, last_page); + fc.last_page = MAX (first_page, last_page); + fc.paper_width = job->width; + fc.paper_height = job->height; + fc.duplex = FALSE; + ev_document_doc_mutex_lock (); - ev_file_exporter_begin (EV_FILE_EXPORTER (document), - g_ascii_strcasecmp (job->format, "pdf") == 0 ? - EV_FILE_FORMAT_PDF : EV_FILE_FORMAT_PS, - job->temp_file, - MIN (first_page, last_page), - MAX (first_page, last_page), - job->width, job->height, FALSE); + ev_file_exporter_begin (EV_FILE_EXPORTER (document), &fc); ev_document_doc_mutex_unlock (); for (i = 0; i < job->copies; i++) { -- cgit v0.9.1