Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-jobs.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2007-07-26 14:53:17 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2007-07-26 14:53:17 (GMT)
commite70119b293ab8a26bdea4a56407bb0f41f1e43aa (patch)
tree627b9853902c99806786543eb0155151925cfed6 /shell/ev-jobs.c
parent0b6b9a984c7cfbf0e313a10f9bd09f77cb3be164 (diff)
Use capabilities to know which options should be offered by the print
2007-07-26 Carlos Garcia Campos <carlosgc@gnome.org> * 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
Diffstat (limited to 'shell/ev-jobs.c')
-rw-r--r--shell/ev-jobs.c30
1 files changed, 17 insertions, 13 deletions
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++) {