The current usage of CUPS IPP API does not work for temporary queues, because the g-c-c sends the request without creating a local printer first, so the request is sent to non-existing printer.
If you use the destination from cupsGetNamedDest() for printing, CUPS library does the local printer creation internally and printing test page will work even for temporary queues.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2148481
Use g_steal_pointer() on task in get_bus_cb() in pp-printer.c
to not invalidate a pointer passed to a DBus call.
Cleanup the task in callback of the DBus call.
The previous code was leaking a string (job title), used an integer pointer
instead of an integer for an id and requited a lot of memory management for a
string array. There was a lot of boilerplate code required for property
management which was not being used much. This is why type safe methods are a
much better idea than GObject properties. :)
Get "job-hold-until" attribute when getting list of jobs. If it has value
"auth-info-required" then get "auth-info-required" attribute of the printer
and store it in PpJob's "auth-info-required" property.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
This changes are necessary because we don't require cups >= 1.4,
due to downstreams still shipping old cups versions.
The IPP_STATE_IDLE symbol has been introduced in cups 1.7. The
IPP_IDLE constant has been deprecated.
https://bugzilla.gnome.org/show_bug.cgi?id=789397
pp_printer_rename_async is better than the old printer_rename
utility.
The PpDetailsDialog doesn't need to do anything in the callback
since we are emiting the "printer-changed" signal when the dialog
is closed.
https://bugzilla.gnome.org/show_bug.cgi?id=769114