diff options
author | Morten Johan Sorvig <morten.sorvig@nokia.com> | 2012-06-08 13:12:59 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-12 04:29:53 +0200 |
commit | 3abf49cdc84b47a66347efeb7fe58e252ca55e11 (patch) | |
tree | cea5cc709a5eb21a3a046da7253c01691d770ef1 /src/plugins | |
parent | f100f84703e829e162e5c05203d7c96939ad616a (diff) |
Cocoa: Compile when configured with -no-widgets
Build printing only if Qt is configured with
widget support.
This is mostly useful for testing -no-widgets builds.
Change-Id: I2d47b420e311869e85508db1f7372fe326617dec
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/cocoa/cocoa.pro | 22 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoanativeinterface.h | 3 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoanativeinterface.mm | 15 |
3 files changed, 31 insertions, 9 deletions
diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index 3d15c7544f..bfe757046e 100644 --- a/src/plugins/platforms/cocoa/cocoa.pro +++ b/src/plugins/platforms/cocoa/cocoa.pro @@ -34,9 +34,6 @@ OBJECTIVE_SOURCES += main.mm \ qmacmime.mm \ qcocoasystemsettings.mm \ qcocoainputcontext.mm \ - qpaintengine_mac.mm \ - qprintengine_mac.mm \ - qcocoaprintersupport.mm \ qcocoaservices.mm \ HEADERS += qcocoaintegration.h \ @@ -69,16 +66,27 @@ HEADERS += qcocoaintegration.h \ qmacmime.h \ qcocoasystemsettings.h \ qcocoainputcontext.h \ - qpaintengine_mac_p.h \ - qprintengine_mac_p.h \ - qcocoaprintersupport.h \ qcocoaservices.h \ RESOURCES += qcocoaresources.qrc LIBS += -framework Cocoa -framework IOKit -QT += core-private gui-private widgets-private platformsupport-private printsupport-private +QT += core-private gui-private platformsupport-private + +!contains(QT_CONFIG, no-widgets) { + OBJECTIVE_SOURCES += \ + qpaintengine_mac.mm \ + qprintengine_mac.mm \ + qcocoaprintersupport.mm \ + + HEADERS += \ + qpaintengine_mac_p.h \ + qprintengine_mac_p.h \ + qcocoaprintersupport.h \ + + QT += widgets-private printsupport-private +} OTHER_FILES += cocoa.json target.path += $$[QT_INSTALL_PLUGINS]/platforms diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.h b/src/plugins/platforms/cocoa/qcocoanativeinterface.h index fd0b10358f..beb54e40d8 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.h +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.h @@ -43,11 +43,12 @@ #define QCOCOANATIVEINTERFACE_H #include <qpa/qplatformnativeinterface.h> -#include <qpa/qplatformprintersupport.h> QT_BEGIN_NAMESPACE class QWidget; +class QPlatformPrinterSupport; +class QPrintEngine; class QCocoaNativeInterface : public QPlatformNativeInterface { diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm index 91461f279a..dc2cab5dbf 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm @@ -42,7 +42,6 @@ #include "qcocoanativeinterface.h" #include "qcocoaglcontext.h" #include "qcocoawindow.h" -#include "qcocoaprintersupport.h" #include "qcocoamenubar.h" #include <qbytearray.h> @@ -54,7 +53,11 @@ #include "qguiapplication.h" #include <qdebug.h> +#ifndef QT_NO_WIDGETS +#include "qcocoaprintersupport.h" #include "qprintengine_mac_p.h" +#include <qpa/qplatformprintersupport.h> +#endif QT_BEGIN_NAMESPACE @@ -81,13 +84,23 @@ void *QCocoaNativeInterface::nativeResourceForWindow(const QByteArray &resourceS QPlatformPrinterSupport *QCocoaNativeInterface::createPlatformPrinterSupport() { +#ifndef QT_NO_WIDGETS return new QCocoaPrinterSupport(); +#else + qFatal("Printing is not supported when Qt is configured with -no-widgets"); + return 0; +#endif } void *QCocoaNativeInterface::NSPrintInfoForPrintEngine(QPrintEngine *printEngine) { +#ifndef QT_NO_WIDGETS QMacPrintEngine *macPrintEngine = static_cast<QMacPrintEngine *>(printEngine); return macPrintEngine->d_func()->printInfo; +#else + qFatal("Printing is not supported when Qt is configured with -no-widgets"); + return 0; +#endif } void QCocoaNativeInterface::onAppFocusWindowChanged(QWindow *window) |