summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-10-27 09:21:36 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-10-27 10:02:15 +0200
commit6c6363af51940da4bc42570c3f749d961b2969f6 (patch)
treeffc988266af98545f640d42160a464b1e6e504df /src
parent33b3fe378486eddddf63a320ebcc5ebb3db0e0d5 (diff)
Mac touchpad support added
Task-number: QTRD-2286 Change-Id: Ibe211caedab231e908af900af65d4075b926a875 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
Diffstat (limited to 'src')
-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