[Development] Adding CPD support to Qt print dialog

Tor Arne Vestbø Tor.arne.Vestbo at qt.io
Mon Sep 19 15:43:21 CEST 2022

> On 19 Sep 2022, at 00:51, Till Kamppeter <till.kamppeter at gmail.com> wrote:

> We do not do any GUI design or change as part of our project. We only add a new method to obtain the available printers, their capabilities and options, and to send off print jobs to them.

That’s good news.

> First is to create a new Qt print backend, what, instead of communicating directly with CUPS, communicates with the CPDB backends. It is some kind of "middle end", on one end being a Qt print backend and on the other end being a CPDB frontend.''

This sounds like a good first step. It doesn’t involve any of the GUI bits, just the enumeration and communication with the various CPDB-exposed printers.

Since the QtPrintSupport module doesn’t depend on DBUS today (AFAIK), the CPDB print backend should be a plugin.

> The second is to throw the backend concept of the Qt dialog over board and replace it by CPDB, the Qt print dialog itself using cpdb-libs to connect to backends, which are now only the CPDB backends, no Qt print backends any more. By conditional compiling one could decide here at build time to use the CPDB concept, the old Qt print backend concept, or both (and in that case which has priority).

This can only be done if CPDB is available on all platforms Qt supports.

Tor Arne

More information about the Development mailing list