From: Morten Johan Sorvig Date: Fri, 8 Jun 2012 11:12:59 +0000 (+0200) Subject: Cocoa: Compile when configured with -no-widgets X-Git-Tag: 071012110112~457 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3abf49cdc84b47a66347efeb7fe58e252ca55e11;p=profile%2Fivi%2Fqtbase.git 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 --- diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index 3d15c75..bfe7570 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 fd0b103..beb54e4 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.h +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.h @@ -43,11 +43,12 @@ #define QCOCOANATIVEINTERFACE_H #include -#include 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 91461f2..dc2cab5 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 @@ -54,7 +53,11 @@ #include "qguiapplication.h" #include +#ifndef QT_NO_WIDGETS +#include "qcocoaprintersupport.h" #include "qprintengine_mac_p.h" +#include +#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(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)