diff options
author | Alexander Larsson <alexl@redhat.com> | 2006-05-15 16:22:38 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2006-05-15 16:22:38 +0000 |
commit | 3f529199e5a2117333ae10cf2d50dd91eb286207 (patch) | |
tree | fa1ccceec4371bfabb412feb7c85acaecdefdd0b /modules | |
parent | 9dc49c456352a29601f4cc4d675a22dbfd22668f (diff) | |
download | gtk+-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.c | 17 |
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); |