summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2019-10-09 09:26:39 +0300
committerTomi Korpipaa <tomi.korpipaa@qt.io>2019-10-09 11:31:05 +0300
commite757445355dbb3f3001fae49bb72113d7a52173d (patch)
tree12f113e1ad98b290bfa98d224d7d3561be2a59bd
parente0b267cfb7c5f6ee84e66c52efb4dffb0c750984 (diff)
Fix trackpad scrolling on macOS
Task-number: QTBUG-77403 Change-Id: I8c6431412ba4b554affa69578b1c2ca3e08c7a7f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--src/charts/qchartview.cpp11
-rw-r--r--src/charts/qchartview.h13
2 files changed, 20 insertions, 4 deletions
diff --git a/src/charts/qchartview.cpp b/src/charts/qchartview.cpp
index b8936f03..0da6e18a 100644
--- a/src/charts/qchartview.cpp
+++ b/src/charts/qchartview.cpp
@@ -261,6 +261,17 @@ void QChartView::mouseReleaseEvent(QMouseEvent *event)
#endif
}
+#ifdef Q_OS_MACOS
+#if QT_CONFIG(wheelevent)
+void QChartView::wheelEvent(QWheelEvent *event)
+{
+ Q_UNUSED(event)
+ // We just need to override wheelEvent, or scrolling won't work correctly on macOS trackpad
+ // (QTBUG-77403)
+}
+#endif
+#endif
+
/*!
Resizes and updates the chart area using the data specified by \a event.
*/
diff --git a/src/charts/qchartview.h b/src/charts/qchartview.h
index f8056487..f41fe56e 100644
--- a/src/charts/qchartview.h
+++ b/src/charts/qchartview.h
@@ -70,10 +70,15 @@ public:
void setChart(QChart *chart);
protected:
- void resizeEvent(QResizeEvent *event);
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
+ void resizeEvent(QResizeEvent *event) override;
+ void mousePressEvent(QMouseEvent *event) override;
+ void mouseMoveEvent(QMouseEvent *event) override;
+ void mouseReleaseEvent(QMouseEvent *event) override;
+#ifdef Q_OS_MACOS
+#if QT_CONFIG(wheelevent)
+ void wheelEvent(QWheelEvent *event) override;
+#endif
+#endif
QScopedPointer<QChartViewPrivate> d_ptr;