From e757445355dbb3f3001fae49bb72113d7a52173d Mon Sep 17 00:00:00 2001 From: Tomi Korpipaa Date: Wed, 9 Oct 2019 09:26:39 +0300 Subject: Fix trackpad scrolling on macOS Task-number: QTBUG-77403 Change-Id: I8c6431412ba4b554affa69578b1c2ca3e08c7a7f Reviewed-by: Miikka Heikkinen --- src/charts/qchartview.cpp | 11 +++++++++++ src/charts/qchartview.h | 13 +++++++++---- 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 d_ptr; -- cgit v1.2.3