summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platforms/cocoa/cocoa.pro22
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.h3
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm15
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)