Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos 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)
commit74f3dcb70294146d0b625715b3b5d18453b01993 (patch)
tree6cb25cf16039f83afd0e643447c3d41bb34bdbac
parent2e255763b2cd5b9571039261f9c29465b984bec5 (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
-rw-r--r--ChangeLog8
-rw-r--r--shell/ev-window.c20
2 files changed, 27 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ecd6086..68699b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
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.
+
+2007-01-09 Carlos Garcia Campos <carlosgc@gnome.org>
+
* shell/ev-jobs.c: (ev_job_xfer_run):
* shell/ev-application.c: (ev_application_open_uri_at_dest):
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;