Hi,

I'm working on various patches to QPrinter and QPrintDialog to add missing 
features like Current Page, Page Set (selecting to print Odd/Even pages only) 
and Multiple Page Ranges.

I'm currently working on Page Set which I've done for X11 and OSX  but not 
being a Windows hacker I need some help on that platform.

The Windows print dialog does not provide a built-in option for Page Set, so I 
need to add a new combo control to the dialog.  From reading MSDN it appears I 
need to define a new custom template for the standard Print Properties Sheet:

http://msdn.microsoft.com/en-us/library/ms646966(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms646844(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms646896(VS.85).aspx

I think the required steps are:
* Copy the PRINTDLGEXORD template from Prnsetup.dlg and add the new control
* Set the PRINTDLGEX PD_ENABLEPRINTTEMPLATE flag
* Set the PRINTDLGEX PD_USELARGETEMPLATE flag if the custom template is larger
* Create an object in memory from the custom template
* Set the PRINTDLGEX hInstance to the in-memory object
* Create a IPrintDialogCallback object
* Use the callback object to set and read the Page Set

That's the theory, but I have no idea how to actually do this.  Is there 
anyone who would like to help me with this?  

I've coded up what I can and pushed it to:

http://qt.gitorious.org/~odysseus/qt/odysseus-clone/commits/qprinter-page-set

Commit f55cd14a  is for the core framework and commit f73119eb  sketches out 
where I think the Windows dialog code needs implementing.

Once this is done, it should then be easy to add support for the 
QPrinter::pageOrder() feature by adding a tickbox for "Reverse pages".

It should also help with using the PRINTDLGEX lphPropertyPages feature 
(http://msdn.microsoft.com/en-us/library/bb760807(VS.85).aspx) to implement 
the QAbstractPrintDialog::setOptionTabs() feature.  Bonus points for figuring 
out how to make that happen :-)

Thanks!

John.
_______________________________________________
Qt4-preview-feedback mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback

Reply via email to