Re-enable native print/pagesetup dialogs on Mac OS X
authorBradley T. Hughes <bradley.hughes@nokia.com>
Mon, 5 Mar 2012 14:01:55 +0000 (15:01 +0100)
committerQt by Nokia <qt-info@nokia.com>
Thu, 15 Mar 2012 08:50:18 +0000 (09:50 +0100)
commit088ae4ca71f54545a2a04da10a6e7cab4826db51
tree5b8f505e2e8ea071052b7e52efc6f187b8d9af78
parent86fc4aa2b661101d392ff8ff832e3cb0e4ce8d91
Re-enable native print/pagesetup dialogs on Mac OS X

Since QtPrintSupport does not have access to the internals of the print
engine on Mac OS X (it lives in the platform plugin). We instead use the
NSPrintInfoFromPrintEngine() invokable method in
QPlatformNativeInterface to return an NSPrintInfo* that we can use where
needed, or we use QPrintEngine::property()/setProperty() to communicate
with the engine.

This commit disables the generic UNIX dialogs and CUPS support on
Mac OS X, ensuring that the default format on Mac OS X is the
QPrinter::NativeFormat (previously qprinter.cpp would force PdfFormat as
default on Q_OS_UNIX which is also defined on Mac OS X).

The rest of the changes are straight forward porting. The methods:

extern void macStartInterceptWindowTitle(QWidget *window);
extern void macStopInterceptWindowTitle();

don't exist anymore, so don't use them. QMacCocoaAutoReleasePool also
doens't work, so use NSAutoreleasePool directly.

Change-Id: I341609e5efa53cadf8d174e4b282cbcae93e39e8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
src/printsupport/dialogs/dialogs.pri
src/printsupport/dialogs/qpagesetupdialog.h
src/printsupport/dialogs/qpagesetupdialog_mac.mm
src/printsupport/dialogs/qprintdialog.h
src/printsupport/dialogs/qprintdialog_mac.mm
src/printsupport/kernel/kernel.pri
src/printsupport/kernel/qprinter.cpp