void DisplayGroupGraphicsView::gestureEvent( QGestureEvent* evt )
{
    QGesture* gesture = 0;

    if( ( gesture = evt->gesture( Qt::SwipeGesture )))
    {
        evt->accept( Qt::SwipeGesture );
        swipe( static_cast< QSwipeGesture* >( gesture ));
    }
    else if( ( gesture = evt->gesture( PanGestureRecognizer::type( ))))
    {
        evt->accept( PanGestureRecognizer::type( ));
        pan( static_cast< PanGesture* >( gesture ));
    }
    else if( ( gesture = evt->gesture( PinchGestureRecognizer::type( ))))
    {
        evt->accept( PinchGestureRecognizer::type( ));
        pinch( static_cast< PinchGesture* >( gesture ));
    }
    else if( ( gesture = evt->gesture( Qt::TapGesture )))
    {
        evt->accept( Qt::TapGesture );
        tap( static_cast< QTapGesture* >( gesture ));
    }
    else if( ( gesture = evt->gesture( Qt::TapAndHoldGesture )))
    {
        evt->accept( Qt::TapAndHoldGesture );
        tapAndHold( static_cast< QTapAndHoldGesture* >( gesture ));
    }
}
void MouseMachine::slotTapAndHold()
{
    qDebug() << "--- slotTapAndHold " << curPos << " : " << theParent->mapFromGlobal(QCursor::pos());
    tapHoldTimer.stop();

    emit tapAndHold(firstPress);
}
void DisplayGroupGraphicsView::gestureEvent( QGestureEvent* event )
{
    if( QGesture* gesture = event->gesture( Qt::SwipeGesture ))
    {
        event->accept( Qt::SwipeGesture );
        swipe( static_cast< QSwipeGesture* >( gesture ));
    }
    else if( QGesture* gesture = event->gesture( Qt::PanGesture ))
    {
        event->accept( Qt::PanGesture );
        pan( static_cast< QPanGesture* >( gesture ));
    }
    else if( QGesture* gesture = event->gesture( Qt::PinchGesture ))
    {
        event->accept( Qt::PinchGesture );
        pinch( static_cast< QPinchGesture* >( gesture ));
    }
    else if( QGesture* gesture = event->gesture( Qt::TapGesture ))
    {
        event->accept( Qt::TapGesture );
        tap( static_cast< QTapGesture* >( gesture ));
    }
    else if( QGesture* gesture = event->gesture( Qt::TapAndHoldGesture ))
    {
        event->accept( Qt::TapAndHoldGesture );
        tapAndHold( static_cast< QTapAndHoldGesture* >( gesture ));
    }
}
Exemple #4
0
TapAndHoldDetector::TapAndHoldDetector( const uint tapAndHoldTimeoutMs,
                                        const qreal moveThresholdPx )
    : _moveThresholdPx( moveThresholdPx )
{
    _tapAndHoldTimer.setInterval( tapAndHoldTimeoutMs );
    connect( &_tapAndHoldTimer, &QTimer::timeout, [this]() {
        emit tapAndHold( MathUtils::computeCenter( _touchStartPos ),
                         _touchStartPos.size( ));
    });
}