From 74f3dcb70294146d0b625715b3b5d18453b01993 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 09 Jan 2007 18:51:06 +0000 Subject: Send print job to printer with some settings set to default values, since 2007-01-09 Carlos Garcia Campos * 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 --- (limited to 'shell') 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; -- cgit v0.9.1