John Layt johnlayt at
Mon Nov 5 23:13:59 GMT 2007

On Monday 05 November 2007, Thiago Macieira wrote:
> Em Monday 05 November 2007 09:45:45 Thomas Zander escreveu:
> > But I wanted to note that if there is something still missing in Qt4.4
> > we'd like to know about it so we can consider it.
> And like I said, we'd rather know about what we have to add sooner rather
> than later.

Well, I haven't had a chance to look at the 4.4 snapshots, and can't remember 
everything you said was planned, but here's a brain dump of what I see 
missing from 4.3.

I'm assuming the ability to add and manage extra pages in the Print Dialog, 
proper Print Preview, and usability improvements to the Print Dialog and 
Driver Options are well in hand :-)

As you already know, people are missing the KDE look-and-feel, especially 
KIO/KFileDialog when printing to file.  Anything that makes it easy to get 
that back would be welcome.

Print Dialog range option to allow users to type in non-continuous page ranges 
(e.g. 1,5-9,23) which QPrinter parses and validates and makes available to 
the app as a page list QList<int> (the pageList() method would work for all 
range options, even AllPages if min and max page passed in).

Print Dialog range option for Current Page.

Print Dialog range option for All/Odd/Even Pages.

Print Dialog option for CUPS banner printing.

Print Dialog option for long edge / short edge duplex.

Reverse landscape/portrait page orientation options (i.e. for 180 and 270 

Cross platform n-up (multiple pages per sheet), or failing that CUPS based 

Cross platform poster and pamphlet printing.

And yes, I am just working my way through the KDE3 Print Dialog :-)  I'll 
leave the 'Advanced Options' stuff as low priority, but the ablity to pass in 
CUPS options for QPrinter to blindly pass on would be very useful as we could 
then add support for stuff ourselves via dialog pages.  Pre-filtering would 
be cool :-)

I don't like the way the print to file api in QPrinter works, there's no 
explicit way to set and un-set it, instead if you set the filename, then it 
assumes you want to show print to file in the dialog.  KDEPrint allowed you 
to set a default filename to use (e.g. last filename used) but not to switch 
to it when the dialog first shows.

Ability to add and manipulate Virtual/Special Printers in Printer select 
combo.  When adding a Special Printer, the app would have to provide the 
Print Program and Output Format, which automatically get set if the user 
selects the Special Printer.  Have default options for Save As PDF/PS instead 
of the Print to File tickbox and requiring the user to know that .pdf or .ps 
suffix sets the format.  However, I'm not convinced this is the best way to 
offer Send-to-Fax/PDF/E-Mail in KDE, I'd rather offer KStandardActions for 
all of them with code that calls QPrinter in the background, like Alex's 

Print files under *nix.  As I understand the QPrinter pipeline, currently the 
app paints the pages onto a QPainter, which QPrinter converts to the platform 
format, and then subs to the print system.  I'm guessing that on *nix the 
output from QPrinter is actually a ps file which then gets passed to CUPS or 
LPR, with the selected options.  Is it possible to have a method that 
by-passes the QPainter-to-ps render pipeline (QPrintEngine?) and allows you 
to pass in the ps filename for Qt to sub to the print system instead?  In 
fact, you could pass in any file format supported by the Print System, so 
CUPS could also take pdf, jpg, txt, etc.

If file printing not available, then the next two options would be helpful.

It would be nice to be able to find out what the user really selected in 
copies.  Have to leave QPrinter::copies() working as is (always returns 1 for 
CUPS), but an alternative route would be nice.

It would be nice to have access to all the selected driver options in the 
Print Dialog / Driver Options so we could pass them along.  More than nice, 

In fact, it would be good generally to have access to what driver options are 
available, what printers are available, and even what print system is 
available and what features it supports.  This would make it easy for KDE to 
add extra dialog pages to support printer or print system specific options 
like n-up where available.  But that is getting well into Print System 
management territory :-)

In short, the stuff I want most for 4.4:
 * Make KDE look-and-feel easy
 * Non-continuous Page Range support & pageList() access method
 * n-up printing
 * Print Files method, or access to all Driver Options
 * A way to pass through options to CUPS that are not yet supported by Qt,
   implies knowing when a printer is a CUPS printer

That should do for now...




Send instant messages to your online friends 

More information about the kde-core-devel mailing list