selection behavior partially restored

preferencesAboutTextFull
Claudio Valerio 11 years ago
parent 3b0bb2f091
commit f9fc27683e
  1. 41
      src/board/UBBoardView.cpp

@ -91,7 +91,6 @@ UBBoardView::UBBoardView (UBBoardController* pController, QWidget* pParent, bool
, mMultipleSelectionIsEnabled(false) , mMultipleSelectionIsEnabled(false)
, bIsControl(isControl) , bIsControl(isControl)
, bIsDesktop(isDesktop) , bIsDesktop(isDesktop)
, mRubberBandInPlayMode(false) //enables rubberband with play tool
{ {
init (); init ();
@ -989,10 +988,6 @@ void UBBoardView::mousePressEvent (QMouseEvent *event)
if (!movingItem && !mController->cacheIsVisible()) if (!movingItem && !mController->cacheIsVisible())
mLongPressTimer.start(); mLongPressTimer.start();
if(mUBRubberBand) {
mUBRubberBand->hide();
}
handleItemMousePress(event); handleItemMousePress(event);
event->accept(); event->accept();
break; break;
@ -1006,9 +1001,7 @@ void UBBoardView::mousePressEvent (QMouseEvent *event)
QListIterator<QGraphicsItem *> it (scene ()->items (fuzzyRect)); QListIterator<QGraphicsItem *> it (scene ()->items (fuzzyRect));
while (it.hasNext () && !foundTextItem) while (it.hasNext () && !foundTextItem)
{
foundTextItem = qgraphicsitem_cast<UBGraphicsTextItem*>(it.next ()); foundTextItem = qgraphicsitem_cast<UBGraphicsTextItem*>(it.next ());
}
if (foundTextItem) if (foundTextItem)
{ {
@ -1109,7 +1102,7 @@ void UBBoardView::mouseMoveEvent (QMouseEvent *event)
return; return;
} }
bool rubberMove = currentTool != (UBStylusTool::Play || mRubberBandInPlayMode) bool rubberMove = (currentTool != (UBStylusTool::Play))
&& (mMouseButtonIsPressed || mTabletStylusIsPressed) && (mMouseButtonIsPressed || mTabletStylusIsPressed)
&& !movingItem; && !movingItem;
@ -1172,13 +1165,13 @@ void UBBoardView::mouseMoveEvent (QMouseEvent *event)
case UBStylusTool::Text : case UBStylusTool::Text :
case UBStylusTool::Capture : { case UBStylusTool::Capture : {
if (mRubberBand if (mRubberBand && (mIsCreatingTextZone || mIsCreatingSceneGrabZone)) {
&& (mIsCreatingTextZone || mIsCreatingSceneGrabZone)) {
mRubberBand->setGeometry(QRect(mMouseDownPos, event->pos()).normalized()); mRubberBand->setGeometry(QRect(mMouseDownPos, event->pos()).normalized());
event->accept(); event->accept();
} else {
QGraphicsView::mouseMoveEvent (event);
} }
else
QGraphicsView::mouseMoveEvent (event);
} break; } break;
default: default:
@ -1266,10 +1259,6 @@ void UBBoardView::mouseReleaseEvent (QMouseEvent *event)
else else
bReleaseIsNeed = true; bReleaseIsNeed = true;
if (mUBRubberBand && mUBRubberBand->isVisible()) {
mUBRubberBand->hide();
}
if (bReleaseIsNeed) if (bReleaseIsNeed)
{ {
QGraphicsView::mouseReleaseEvent (event); QGraphicsView::mouseReleaseEvent (event);
@ -1297,6 +1286,7 @@ void UBBoardView::mouseReleaseEvent (QMouseEvent *event)
suspendedMousePressEvent = NULL; suspendedMousePressEvent = NULL;
} }
} }
QGraphicsView::mouseReleaseEvent (event); QGraphicsView::mouseReleaseEvent (event);
} }
else if (currentTool == UBStylusTool::Text) else if (currentTool == UBStylusTool::Text)
@ -1368,10 +1358,6 @@ void UBBoardView::mouseReleaseEvent (QMouseEvent *event)
else else
bReleaseIsNeed = true; bReleaseIsNeed = true;
if (mUBRubberBand && mUBRubberBand->isVisible()) {
mUBRubberBand->hide();
}
if (bReleaseIsNeed) if (bReleaseIsNeed)
{ {
QGraphicsView::mouseReleaseEvent (event); QGraphicsView::mouseReleaseEvent (event);
@ -1399,8 +1385,6 @@ void UBBoardView::mouseReleaseEvent (QMouseEvent *event)
} }
else if (currentTool == UBStylusTool::Capture) else if (currentTool == UBStylusTool::Capture)
{ {
if (mRubberBand)
mRubberBand->hide ();
if (scene () && mRubberBand && mIsCreatingSceneGrabZone && mRubberBand->geometry ().width () > 16) if (scene () && mRubberBand && mIsCreatingSceneGrabZone && mRubberBand->geometry ().width () > 16)
{ {
@ -1428,6 +1412,19 @@ void UBBoardView::mouseReleaseEvent (QMouseEvent *event)
} }
} }
if (mUBRubberBand) {
mUBRubberBand->hide();
delete mUBRubberBand;
mUBRubberBand = NULL;
}
if (mRubberBand) {
mRubberBand->hide();
delete mRubberBand;
mRubberBand = NULL;
}
mMouseButtonIsPressed = false; mMouseButtonIsPressed = false;
mPendingStylusReleaseEvent = false; mPendingStylusReleaseEvent = false;
mTabletStylusIsPressed = false; mTabletStylusIsPressed = false;

Loading…
Cancel
Save