diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2007-01-09 18:51:06 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2007-01-09 18:51:06 (GMT) |
commit | 74f3dcb70294146d0b625715b3b5d18453b01993 (patch) | |
tree | 6cb25cf16039f83afd0e643447c3d41bb34bdbac /shell | |
parent | 2e255763b2cd5b9571039261f9c29465b984bec5 (diff) |
Send print job to printer with some settings set to default values, since
2007-01-09 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-window.c: (ev_window_print_send):
Send print job to printer with some settings set to default values,
since we have already exported to a file according to such settings
and they could be taken twice by some printers.
svn path=/trunk/; revision=2204
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-window.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index 0bba71d..ffbc1f0 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -1710,15 +1710,33 @@ ev_window_print_send (EvWindow *window, const gchar *filename) { GtkPrintJob *job; + GtkPrintSettings *settings; GError *error = NULL; if (window->priv->gtk_print_job) g_object_unref (window->priv->gtk_print_job); + + /* Some printers take into account some print settings, + * and others don't. However we have exported the document + * to a ps or pdf file according to such print settings. So, + * we want to send the exported file to printer with those + * settings set to default values. + */ + settings = gtk_print_settings_copy (window->priv->print_settings); + gtk_print_settings_set_n_copies (settings, 1); + gtk_print_settings_set_page_ranges (settings, NULL, 0); + gtk_print_settings_set_page_set (settings, GTK_PAGE_SET_ALL); + gtk_print_settings_set_print_pages (settings, GTK_PRINT_PAGES_ALL); + gtk_print_settings_set_scale (settings, 1.0); + gtk_print_settings_set_collate (settings, FALSE); + gtk_print_settings_set_reverse (settings, FALSE); job = gtk_print_job_new ("evince-print", window->priv->printer, - window->priv->print_settings, + settings, window->priv->print_page_setup); + + g_object_unref (settings); window->priv->gtk_print_job = job; |