void TailView::mouseMoveEvent(QMouseEvent * event) { if(m_leftMouseIsDown) { QPoint docPos(docGraphicalPosition(event->pos())); m_document->moveSelect(docPos); viewport()->update(); } }
void TailView::mousePressEvent(QMouseEvent * event) { if(event->button() == Qt::LeftButton) { m_leftMouseIsDown = true; QPoint docPos(docGraphicalPosition(event->pos())); if(event->modifiers() == Qt::ShiftModifier) { m_document->moveSelect(docPos); } else if (event->modifiers() == 0) { m_document->startSelect(docPos); } viewport()->update(); } }
void CMsgBodyControlEditor::HandlePointerEventL( const TPointerEvent& aPointerEvent ) { TBool forwardRequest( ETrue ); if ( IsActivated() && IsReadOnly() && ( aPointerEvent.iType == TPointerEvent::EButton1Down || aPointerEvent.iType == TPointerEvent::EButton1Up ) ) { TPoint tapPoint( aPointerEvent.iPosition ); TInt docPos( TextView()->XyPosToDocPosL( tapPoint ) ); TInt start( 0 ); TInt length( 0 ); MParser* parser = iItemFinder; TBool tappedOverTag( RichText()->CursorOverTag( docPos, parser, start, length ) ); if ( aPointerEvent.iType == TPointerEvent::EButton1Down ) { iPreviousItemStart = -1; iPreviousItemLength = -1; if ( tappedOverTag ) { TPoint relativeTapPoint( aPointerEvent.iPosition - iPosition ); if ( iItemFinder->ItemWasTappedL( relativeTapPoint ) ) { iPreviousItemStart = start; iPreviousItemLength = length; forwardRequest = EFalse; } } else { iItemFinder->ResetCurrentItem(); } } else if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) { if ( tappedOverTag && start >= iPreviousItemStart && length <= iPreviousItemLength ) { TKeyEvent event; event.iCode = EKeyDevice3; event.iScanCode = EStdKeyDevice3; event.iModifiers = 0; event.iRepeats = 0; iCoeEnv->WsSession().SimulateKeyEvent( event ); forwardRequest = EFalse; } } } if ( forwardRequest ) { CMsgExpandableControlEditor::HandlePointerEventL( aPointerEvent ); } #ifdef RD_TACTILE_FEEDBACK else if(aPointerEvent.iType == TPointerEvent::EButton1Down) { MTouchFeedback* feedback = MTouchFeedback::Instance(); if ( feedback ) { feedback->InstantFeedback( this, ETouchFeedbackBasic ); } } #endif // RD_TACTILE_FEEDBACK }