void QtViewportHandler::flickMoveStarted() { Q_ASSERT(m_viewportItem->isMoving()); m_scrollUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent)); m_lastScrollPosition = m_viewportItem->contentPos(); connect(m_viewportItem, SIGNAL(contentXChanged()), SLOT(pageItemPositionChanged())); connect(m_viewportItem, SIGNAL(contentYChanged()), SLOT(pageItemPositionChanged())); }
void QtViewportHandler::flickMoveEnded() { Q_ASSERT(!m_viewportItem->isMoving()); // This method is called on the end of the pan or pan kinetic animation. m_scrollUpdateDeferrer.clear(); m_lastScrollPosition = QPointF(); disconnect(m_viewportItem, SIGNAL(contentXChanged()), this, SLOT(pageItemPositionChanged())); disconnect(m_viewportItem, SIGNAL(contentYChanged()), this, SLOT(pageItemPositionChanged())); }
PageViewportControllerClientQt::PageViewportControllerClientQt(QQuickWebView* viewportItem, QQuickWebPage* pageItem) : m_viewportItem(viewportItem) , m_pageItem(pageItem) , m_scaleAnimation(new ScaleAnimation(this)) , m_pinchStartScale(-1) , m_lastCommittedScale(-1) , m_zoomOutScale(0) , m_isUserInteracting(false) , m_ignoreViewportChanges(false) { m_scaleAnimation->setDuration(kScaleAnimationDurationMillis); m_scaleAnimation->setEasingCurve(QEasingCurve::OutCubic); connect(m_viewportItem, SIGNAL(movementStarted()), SLOT(flickMoveStarted()), Qt::DirectConnection); connect(m_viewportItem, SIGNAL(movementEnded()), SLOT(flickMoveEnded()), Qt::DirectConnection); connect(m_viewportItem, SIGNAL(contentXChanged()), SLOT(pageItemPositionChanged())); connect(m_viewportItem, SIGNAL(contentYChanged()), SLOT(pageItemPositionChanged())); connect(m_scaleAnimation, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)), SLOT(scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State))); }