diff options
author | Carlos 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) |
commit | e70119b293ab8a26bdea4a56407bb0f41f1e43aa (patch) | |
tree | 627b9853902c99806786543eb0155151925cfed6 /backend/ps/ps-document.c | |
parent | 0b6b9a984c7cfbf0e313a10f9bd09f77cb3be164 (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 'backend/ps/ps-document.c')
-rw-r--r-- | backend/ps/ps-document.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/backend/ps/ps-document.c b/backend/ps/ps-document.c index 0931fb9..5e63687 100644 --- a/backend/ps/ps-document.c +++ b/backend/ps/ps-document.c @@ -598,22 +598,9 @@ ps_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface) } /* EvFileExporterIface */ -static gboolean -ps_document_file_exporter_format_supported (EvFileExporter *exporter, - EvFileExporterFormat format) -{ - return (format == EV_FILE_FORMAT_PS); -} - static void -ps_document_file_exporter_begin (EvFileExporter *exporter, - EvFileExporterFormat format, - const char *filename, - int first_page, - int last_page, - double width, - double height, - gboolean duplex) +ps_document_file_exporter_begin (EvFileExporter *exporter, + EvFileExporterContext *fc) { PSDocument *document = PS_DOCUMENT (exporter); @@ -623,11 +610,12 @@ ps_document_file_exporter_begin (EvFileExporter *exporter, document->ps_export_pagelist = g_new0 (int, document->doc->numpages); } - document->ps_export_filename = g_strdup (filename); + document->ps_export_filename = g_strdup (fc->filename); } static void -ps_document_file_exporter_do_page (EvFileExporter *exporter, EvRenderContext *rc) +ps_document_file_exporter_do_page (EvFileExporter *exporter, + EvRenderContext *rc) { PSDocument *document = PS_DOCUMENT (exporter); @@ -653,11 +641,18 @@ ps_document_file_exporter_end (EvFileExporter *exporter) } } +static EvFileExporterCapabilities +ps_document_file_exporter_get_capabilities (EvFileExporter *exporter) +{ + return EV_FILE_EXPORTER_CAN_PAGE_SET | + EV_FILE_EXPORTER_CAN_GENERATE_PS; +} + static void ps_document_file_exporter_iface_init (EvFileExporterIface *iface) { - iface->format_supported = ps_document_file_exporter_format_supported; iface->begin = ps_document_file_exporter_begin; iface->do_page = ps_document_file_exporter_do_page; iface->end = ps_document_file_exporter_end; + iface->get_capabilities = ps_document_file_exporter_get_capabilities; } |