summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2006-05-15 16:22:38 +0000
committerAlexander Larsson <alexl@src.gnome.org>2006-05-15 16:22:38 +0000
commit3f529199e5a2117333ae10cf2d50dd91eb286207 (patch)
treefa1ccceec4371bfabb412feb7c85acaecdefdd0b /modules
parent9dc49c456352a29601f4cc4d675a22dbfd22668f (diff)
downloadgtk+-3f529199e5a2117333ae10cf2d50dd91eb286207.tar.gz
Added gtk_print_job_set/get_track_print_status
2006-05-15 Alexander Larsson <alexl@redhat.com> * gtk/gtkprintjob.[ch]: Added gtk_print_job_set/get_track_print_status * gtk/gtkprintoperation-private.h: * gtk/gtkprintoperation.[ch]: Add gtk_print_operation_set_track_print_status. * gtk/gtkprintoperation-unix.c: Implement track_print_status on unix * gtk/gtkprintoperation-win32.c: Implement track_print_status on win32 * gtk/gtk.symbols: Added symbols * modules/printbackends/cups/gtkprintbackendcups.c: Implement track_print_status for cups * tests/print-editor.c: Test track_print_status.
Diffstat (limited to 'modules')
-rw-r--r--modules/printbackends/cups/gtkprintbackendcups.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c
index 006e5d446f..c1b018029b 100644
--- a/modules/printbackends/cups/gtkprintbackendcups.c
+++ b/modules/printbackends/cups/gtkprintbackendcups.c
@@ -321,15 +321,14 @@ cups_print_cb (GtkPrintBackendCups *print_backend,
if ((attr = ippFindAttribute(response, "job-id", IPP_TAG_INTEGER)) != NULL)
job_id = attr->values[0].integer;
-
- if (job_id == 0)
- gtk_print_job_set_status (ps->job, GTK_PRINT_STATUS_FINISHED);
- else
- {
- gtk_print_job_set_status (ps->job, GTK_PRINT_STATUS_PENDING);
- cups_begin_polling_info (print_backend, ps->job, job_id);
- }
- }
+ if (!gtk_print_job_get_track_print_status (ps->job) || job_id == 0)
+ gtk_print_job_set_status (ps->job, GTK_PRINT_STATUS_FINISHED);
+ else
+ {
+ gtk_print_job_set_status (ps->job, GTK_PRINT_STATUS_PENDING);
+ cups_begin_polling_info (print_backend, ps->job, job_id);
+ }
+ }
else
gtk_print_job_set_status (ps->job, GTK_PRINT_STATUS_FINISHED_ABORTED);