diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-04-21 08:00:01 +0300 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-04-21 08:00:01 +0300 |
commit | 284057d12fea9339744ddc646aa53cfe6c3c95a1 (patch) | |
tree | 61bb12637c56a282830d683e346057b00d332b7a /src/quicktemplates2/qquickscrollbar.cpp | |
parent | 91b2721fdc2aba28d3c45111779fed70f7c4f87d (diff) | |
parent | c8e9b5f25fb12c3b7983658d738165181b4d6672 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/imports/controls/RoundButton.qml
src/imports/controls/universal/RadioDelegate.qml
Change-Id: I4cb14c19bd5f6e19b70b03fb394c76712e6dda08
Diffstat (limited to 'src/quicktemplates2/qquickscrollbar.cpp')
-rw-r--r-- | src/quicktemplates2/qquickscrollbar.cpp | 78 |
1 files changed, 4 insertions, 74 deletions
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp index 240f6601..128bca6f 100644 --- a/src/quicktemplates2/qquickscrollbar.cpp +++ b/src/quicktemplates2/qquickscrollbar.cpp @@ -165,7 +165,6 @@ QQuickScrollBarPrivate::QQuickScrollBarPrivate() moving(false), interactive(true), explicitInteractive(false), - touchId(-1), orientation(Qt::Vertical), snapMode(QQuickScrollBar::NoSnap), policy(QQuickScrollBar::AsNeeded) @@ -246,6 +245,7 @@ void QQuickScrollBarPrivate::resizeContent() void QQuickScrollBarPrivate::handlePress(const QPointF &point) { Q_Q(QQuickScrollBar); + QQuickControlPrivate::handlePress(point); offset = positionAt(point) - position; if (offset < 0 || offset > size) offset = size / 2; @@ -255,6 +255,7 @@ void QQuickScrollBarPrivate::handlePress(const QPointF &point) void QQuickScrollBarPrivate::handleMove(const QPointF &point) { Q_Q(QQuickScrollBar); + QQuickControlPrivate::handleMove(point); qreal pos = qBound<qreal>(0.0, positionAt(point) - offset, 1.0 - size); if (snapMode == QQuickScrollBar::SnapAlways) pos = snapPosition(pos); @@ -264,20 +265,20 @@ void QQuickScrollBarPrivate::handleMove(const QPointF &point) void QQuickScrollBarPrivate::handleRelease(const QPointF &point) { Q_Q(QQuickScrollBar); + QQuickControlPrivate::handleRelease(point); qreal pos = qBound<qreal>(0.0, positionAt(point) - offset, 1.0 - size); if (snapMode != QQuickScrollBar::NoSnap) pos = snapPosition(pos); q->setPosition(pos); offset = 0.0; - touchId = -1; q->setPressed(false); } void QQuickScrollBarPrivate::handleUngrab() { Q_Q(QQuickScrollBar); + QQuickControlPrivate::handleUngrab(); offset = 0.0; - touchId = -1; q->setPressed(false); } @@ -627,80 +628,9 @@ void QQuickScrollBar::mousePressEvent(QMouseEvent *event) { Q_D(QQuickScrollBar); QQuickControl::mousePressEvent(event); - d->handlePress(event->localPos()); d->handleMove(event->localPos()); } -void QQuickScrollBar::mouseMoveEvent(QMouseEvent *event) -{ - Q_D(QQuickScrollBar); - QQuickControl::mouseMoveEvent(event); - d->handleMove(event->localPos()); -} - -void QQuickScrollBar::mouseReleaseEvent(QMouseEvent *event) -{ - Q_D(QQuickScrollBar); - QQuickControl::mouseReleaseEvent(event); - d->handleRelease(event->localPos()); -} - -void QQuickScrollBar::mouseUngrabEvent() -{ - Q_D(QQuickScrollBar); - QQuickControl::mouseUngrabEvent(); - d->handleUngrab(); -} - -void QQuickScrollBar::touchEvent(QTouchEvent *event) -{ - Q_D(QQuickScrollBar); - switch (event->type()) { - case QEvent::TouchBegin: - if (d->touchId == -1) { - const QTouchEvent::TouchPoint point = event->touchPoints().first(); - d->touchId = point.id(); - d->handlePress(point.pos()); - } else { - event->ignore(); - } - break; - - case QEvent::TouchUpdate: - for (const QTouchEvent::TouchPoint &point : event->touchPoints()) { - if (point.id() != d->touchId) - continue; - - d->handleMove(point.pos()); - } - break; - - case QEvent::TouchEnd: - for (const QTouchEvent::TouchPoint &point : event->touchPoints()) { - if (point.id() != d->touchId) - continue; - - d->handleRelease(point.pos()); - } - break; - - case QEvent::TouchCancel: - d->handleUngrab(); - break; - - default: - QQuickControl::touchEvent(event); - break; - } -} - -void QQuickScrollBar::touchUngrabEvent() -{ - Q_D(QQuickScrollBar); - QQuickControl::touchUngrabEvent(); - d->handleUngrab(); -} - #if QT_CONFIG(quicktemplates2_hover) void QQuickScrollBar::hoverChange() { |