Fwd: Printing things

John Layt jlayt at kde.org
Mon Aug 5 22:06:32 UTC 2013


On 5 August 2013 16:28, Martin Klapetek <martin.klapetek at gmail.com> wrote:
> Hey John,
>
> have you had any chance to devise the master plan for the KPrintDialog? The
> Qt 5.2 deadline is approaching quite fast, so we'd like to start on that
> asap...no pressure :)
>
> Cheers
> --
> Martin Klapetek | KDE Developer

[cc: to frameworks so they know what we're up to...]

Hi Martin,

I've got most of it sketched out, enough to be making a start with
anyway.  The dialog implementation is a real mess, it's grown
organically over time with no consistency.  If there's anything you
want to clean-up or fix or simplify or rename while you're looking at
it, please do so, just make each individual change the smallest
possible separate commit, and no public api changes.  If you feel like
re-designing or re-writing the whole thing from scratch (and you will
want to)... well probably not enough time for that now :-)

Job Tab
This tab needs to move to the Properties button pop-up as a new tab
"Job" that only displays when CUPS is enabled.  Do not add the "Job
Options" box, that needs reworking, probably as part of the old
Properties/Advanced tab.  Do however add the "Banner Pages" options
from the "Pages" tab.  This should require you to work out the
mechanism for getting the settings passed to CUPS, you may need to
look at 4.8 to see how the old "Advanced" tab worked and copy that.
[Aside: WTF?  Where'd the Advanced tab go??? I don't remember removing
it?!?!]

Pages Tab
This tab will be broken up.  The "Pages Per Sheet" needs to move to
the Properties button pop-up as part of the "Page" tab, i.e the
QPageSetupWidget.  You'll need to make the fake page layout display
the pages on the paper.  "Banner Pages" moves to the Job tab.  The
remaining options technically should belong on the Pages tab, but it's
getting too crowded, the widget is used elsewhere, and they're little
used so we'll drop them for now.

Make these at least two separate commits.

I actually made a start on this for 4.8, this commit adds the CUPS
options, but it won't apply cleanly to 5:
https://qt.gitorious.org/~odysseus/qt/odysseus-clone/commit/6c26011b8bb94aef460c98cc0ff3f6dd7017afb0
To remove any legal issues, I hereby release my copyright on this code
and place it in the Public Domain so it may be reused by anyone.

The last thing to try sort is the "Page Set" option, probably the
thing most people want.  I'm still thinking through whether to try
make this cross-platform as I'm not sure we can do it cleanly as a
CUPS-only feature.

Cheers!

John.


More information about the Kde-frameworks-devel mailing list