summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/datavisualization/datavisualization.pro3
-rw-r--r--src/datavisualization/engine/qabstract3dgraph.cpp12
-rw-r--r--src/datavisualizationqml2/abstractdeclarative.cpp15
-rw-r--r--src/datavisualizationqml2/datavisualizationqml2.pro1
4 files changed, 30 insertions, 1 deletions
diff --git a/src/datavisualization/datavisualization.pro b/src/datavisualization/datavisualization.pro
index f0e56073..645a1733 100644
--- a/src/datavisualization/datavisualization.pro
+++ b/src/datavisualization/datavisualization.pro
@@ -7,7 +7,8 @@ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) {
}
message($$QT_CONFIG)
-QT = core gui
+QT += core gui
+osx: QT += gui-private
DEFINES += QT_DATAVISUALIZATION_LIBRARY
# Fix exports in static builds for applications linking datavisualization module
diff --git a/src/datavisualization/engine/qabstract3dgraph.cpp b/src/datavisualization/engine/qabstract3dgraph.cpp
index 47802c89..96c82cb6 100644
--- a/src/datavisualization/engine/qabstract3dgraph.cpp
+++ b/src/datavisualization/engine/qabstract3dgraph.cpp
@@ -29,6 +29,9 @@
#include <QtGui/QPainter>
#include <QtGui/QOpenGLFramebufferObject>
#include <QtGui/QOffscreenSurface>
+#if defined(Q_OS_OSX)
+#include <qpa/qplatformnativeinterface.h>
+#endif
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
@@ -208,6 +211,15 @@ QAbstract3DGraph::QAbstract3DGraph(QAbstract3DGraphPrivate *d, const QSurfaceFor
#endif
d_ptr->renderLater();
+
+#if defined(Q_OS_OSX)
+ // Enable touch events for Mac touchpads
+ typedef void * (*EnableTouch)(QWindow*, bool);
+ EnableTouch enableTouch =
+ (EnableTouch)QGuiApplication::platformNativeInterface()->nativeResourceFunctionForIntegration("registertouchwindow");
+ if (enableTouch)
+ enableTouch(this, true);
+#endif
}
/*!
diff --git a/src/datavisualizationqml2/abstractdeclarative.cpp b/src/datavisualizationqml2/abstractdeclarative.cpp
index 7e8de95c..b668c08f 100644
--- a/src/datavisualizationqml2/abstractdeclarative.cpp
+++ b/src/datavisualizationqml2/abstractdeclarative.cpp
@@ -24,6 +24,9 @@
#if defined(Q_OS_IOS)
#include <QtCore/QTimer>
#endif
+#if defined(Q_OS_OSX)
+#include <qpa/qplatformnativeinterface.h>
+#endif
QT_BEGIN_NAMESPACE_DATAVISUALIZATION
@@ -443,6 +446,18 @@ void AbstractDeclarative::handleWindowChanged(QQuickWindow *window)
if (!window)
return;
+#if defined(Q_OS_OSX)
+ bool previousVisibility = window->isVisible();
+ // Enable touch events for Mac touchpads
+ window->setVisible(true);
+ typedef void * (*EnableTouch)(QWindow*, bool);
+ EnableTouch enableTouch =
+ (EnableTouch)QGuiApplication::platformNativeInterface()->nativeResourceFunctionForIntegration("registertouchwindow");
+ if (enableTouch)
+ enableTouch(window, true);
+ window->setVisible(previousVisibility);
+#endif
+
connect(window, &QObject::destroyed, this, &AbstractDeclarative::windowDestroyed);
int oldWindowSamples = m_windowSamples;
diff --git a/src/datavisualizationqml2/datavisualizationqml2.pro b/src/datavisualizationqml2/datavisualizationqml2.pro
index 7c65d69e..87376e70 100644
--- a/src/datavisualizationqml2/datavisualizationqml2.pro
+++ b/src/datavisualizationqml2/datavisualizationqml2.pro
@@ -1,5 +1,6 @@
TARGET = datavisualizationqml2
QT += qml quick datavisualization
+osx: QT += gui-private
TARGETPATH = QtDataVisualization
IMPORT_VERSION = $$MODULE_VERSION