Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-window.c
diff options
context:
space:
mode:
authorCarlos 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)
commit133ed2fb65129c8a36f674c06ae693f8ef77f77a (patch)
treed8a889dd4f95c3ea8038a8184622c0e6258f0d1e /shell/ev-window.c
parent6375978c4509d62064b9208ad2063c8bb7d4d0e9 (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.c29
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),