From 865b43dbf3f220cce61d245b7042e777e834952c Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 5 Aug 2013 13:51:13 +0200 Subject: [PATCH] QScrollBar: handle QWheelEvent::Phase for transient scrollbars Transient scrollbars should become and stay visible when touching the pad with two fingers. Change-Id: Ic36ba56019f484cedb2404550551ebe68ea6f285 Reviewed-by: J-P Nurmi Reviewed-by: Shawn Rutledge --- src/widgets/widgets/qscrollbar.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp index e1e2723a2db..4ed91204cdc 100644 --- a/src/widgets/widgets/qscrollbar.cpp +++ b/src/widgets/widgets/qscrollbar.cpp @@ -510,6 +510,11 @@ void QScrollBar::wheelEvent(QWheelEvent *event) Q_D(QScrollBar); if (d->scrollByDelta(event->orientation(), event->modifiers(), delta)) event->accept(); + + if (event->phase() == QWheelEvent::Started) + d->setTransient(false); + else if (event->phase() == QWheelEvent::Ended) + d->setTransient(true); } #endif