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 /libdocument/ev-file-exporter.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 'libdocument/ev-file-exporter.c')
-rw-r--r-- | libdocument/ev-file-exporter.c | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/libdocument/ev-file-exporter.c b/libdocument/ev-file-exporter.c index 7a4e902..d65abec 100644 --- a/libdocument/ev-file-exporter.c +++ b/libdocument/ev-file-exporter.c @@ -43,39 +43,18 @@ ev_file_exporter_get_type (void) return type; } -gboolean -ev_file_exporter_format_supported (EvFileExporter *exporter, - EvFileExporterFormat format) -{ - EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - - if (format < EV_FILE_FORMAT_PS || - format > EV_FILE_FORMAT_PDF) - return FALSE; - - return iface->format_supported (exporter, format); -} - void -ev_file_exporter_begin (EvFileExporter *exporter, - EvFileExporterFormat format, - const gchar *filename, - gint first_page, - gint last_page, - gdouble paper_width, - gdouble paper_height, - gboolean duplex) +ev_file_exporter_begin (EvFileExporter *exporter, + EvFileExporterContext *fc) { EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - g_return_if_fail (ev_file_exporter_format_supported (exporter, format)); - - iface->begin (exporter, format, filename, first_page, last_page, - paper_width, paper_height, duplex); + iface->begin (exporter, fc); } void -ev_file_exporter_do_page (EvFileExporter *exporter, EvRenderContext *rc) +ev_file_exporter_do_page (EvFileExporter *exporter, + EvRenderContext *rc) { EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); @@ -89,3 +68,11 @@ ev_file_exporter_end (EvFileExporter *exporter) iface->end (exporter); } + +EvFileExporterCapabilities +ev_file_exporter_get_capabilities (EvFileExporter *exporter) +{ + EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); + + iface->get_capabilities (exporter); +} |