diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2006-10-30 15:45:15 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2006-10-30 15:45:15 (GMT) |
commit | 133ed2fb65129c8a36f674c06ae693f8ef77f77a (patch) | |
tree | d8a889dd4f95c3ea8038a8184622c0e6258f0d1e /shell/ev-window.c | |
parent | 6375978c4509d62064b9208ad2063c8bb7d4d0e9 (diff) |
Allow printing only odd/even pages. Fixes bug #367289.
2006-10-30 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-jobs.[ch]: (ev_job_print_new),
(ev_print_job_print_page_in_range), (ev_print_job_print_page_in_set),
(ev_job_print_do_page):
* shell/ev-window.[ch]: (ev_window_print_dialog_response_cb):
Allow printing only odd/even pages. Fixes bug #367289.
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r-- | shell/ev-window.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index 8443e6b..a88816c 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -1519,17 +1519,18 @@ ev_window_print_dialog_response_cb (GtkDialog *dialog, gint response, EvWindow *window) { - EvPrintRange *ranges = NULL; - EvPageCache *page_cache; - gint n_ranges = 0; - gint copies; - gboolean collate; - gboolean reverse; - gdouble scale; - gint current_page; - gint width; - gint height; - GtkPrintPages print_pages; + EvPrintRange *ranges = NULL; + EvPrintPageSet page_set; + EvPageCache *page_cache; + gint n_ranges = 0; + gint copies; + gboolean collate; + gboolean reverse; + gdouble scale; + gint current_page; + gint width; + gint height; + GtkPrintPages print_pages; if (response != GTK_RESPONSE_OK) { gtk_widget_destroy (GTK_WIDGET (dialog)); @@ -1594,6 +1595,8 @@ ev_window_print_dialog_response_cb (GtkDialog *dialog, break; } + page_set = (EvPrintPageSet)gtk_print_settings_get_page_set (window->priv->print_settings); + scale = gtk_print_settings_get_scale (window->priv->print_settings) * 0.01; page_cache = ev_page_cache_get (window->priv->document); ev_page_cache_get_size (page_cache, @@ -1609,7 +1612,9 @@ ev_window_print_dialog_response_cb (GtkDialog *dialog, (gdouble)width, (gdouble)height, ranges, n_ranges, - copies, collate, reverse); + page_set, + copies, collate, + reverse); g_signal_connect (window->priv->print_job, "finished", G_CALLBACK (ev_window_print_job_cb), |