From 66a4bf0273f27b610d8f08b394d3f7e9da3edea4 Mon Sep 17 00:00:00 2001 From: Anatoly Mihalchenko Date: Tue, 21 Jun 2011 14:23:04 +0200 Subject: [PATCH] Cursor problem fixed --- src/board/UBBoardView.cpp | 7 ++++--- src/tools/UBGraphicsCompass.cpp | 22 +++++++++++++++++++++- src/tools/UBGraphicsProtractor.cpp | 9 ++++++++- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/board/UBBoardView.cpp b/src/board/UBBoardView.cpp index 648e4ec1..d193bdeb 100644 --- a/src/board/UBBoardView.cpp +++ b/src/board/UBBoardView.cpp @@ -101,6 +101,7 @@ UBBoardView::init () settingChanged (QVariant ()); + unsetCursor(); } UBGraphicsScene* @@ -493,7 +494,7 @@ UBBoardView::mouseMoveEvent (QMouseEvent *event) else if ((UBDrawingController::drawingController()->isDrawingTool()) && !mMouseButtonIsPressed) { - QGraphicsView::mouseMoveEvent (event); + QGraphicsView::mouseMoveEvent (event); } else if (currentTool == UBStylusTool::Text || currentTool == UBStylusTool::Capture) { @@ -510,9 +511,9 @@ UBBoardView::mouseMoveEvent (QMouseEvent *event) else { if (!mTabletStylusIsPressed && scene ()) - { + { scene ()->inputDeviceMove (mapToScene (UBGeometryUtils::pointConstrainedInRect (event->pos (), rect ())), mMouseButtonIsPressed); - } + } event->accept (); } } diff --git a/src/tools/UBGraphicsCompass.cpp b/src/tools/UBGraphicsCompass.cpp index ef3489bd..b45aa830 100644 --- a/src/tools/UBGraphicsCompass.cpp +++ b/src/tools/UBGraphicsCompass.cpp @@ -59,6 +59,8 @@ UBGraphicsCompass::UBGraphicsCompass() updateResizeCursor(); updateDrawCursor(); + unsetCursor(); + connect(UBApplication::boardController, SIGNAL(penColorChanged()), this, SLOT(penColorChanged())); connect(UBDrawingController::drawingController(), SIGNAL(lineWidthIndexChanged(int)), this, SLOT(lineWidthChanged())); } @@ -157,6 +159,9 @@ QVariant UBGraphicsCompass::itemChange(GraphicsItemChange change, const QVariant void UBGraphicsCompass::mousePressEvent(QGraphicsSceneMouseEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + if (resizeButtonRect().contains(event->pos())) { mResizing = true; @@ -189,6 +194,9 @@ void UBGraphicsCompass::mousePressEvent(QGraphicsSceneMouseEvent *event) void UBGraphicsCompass::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + if (!mResizing && !mRotating && !mDrawing) { QGraphicsRectItem::mouseMoveEvent(event); @@ -230,6 +238,9 @@ void UBGraphicsCompass::mouseMoveEvent(QGraphicsSceneMouseEvent *event) void UBGraphicsCompass::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + if (mResizing) { mResizing = false; @@ -267,6 +278,9 @@ void UBGraphicsCompass::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) void UBGraphicsCompass::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + mOuterCursor = cursor(); mShowButtons = shape().contains(event->pos()); @@ -293,16 +307,22 @@ void UBGraphicsCompass::hoverEnterEvent(QGraphicsSceneHoverEvent *event) void UBGraphicsCompass::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + mShowButtons = false; mCloseSvgItem->setVisible(mShowButtons); mResizeSvgItem->setVisible(mShowButtons); - setCursor(mOuterCursor); + unsetCursor(); event->accept(); update(); } void UBGraphicsCompass::hoverMoveEvent(QGraphicsSceneHoverEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + mShowButtons = shape().contains(event->pos()); mCloseSvgItem->setVisible(mShowButtons); mResizeSvgItem->setVisible(mShowButtons); diff --git a/src/tools/UBGraphicsProtractor.cpp b/src/tools/UBGraphicsProtractor.cpp index bed25022..b34f0fab 100644 --- a/src/tools/UBGraphicsProtractor.cpp +++ b/src/tools/UBGraphicsProtractor.cpp @@ -11,6 +11,7 @@ #include "gui/UBResources.h" #include "domain/UBGraphicsScene.h" #include "board/UBBoardController.h" +#include "board/UBDrawingController.h" const int UBGraphicsProtractor::sFillTransparency = 127; @@ -263,6 +264,9 @@ void UBGraphicsProtractor::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) void UBGraphicsProtractor::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + if (!mShowButtons) { mShowButtons = true; @@ -283,7 +287,7 @@ void UBGraphicsProtractor::hoverEnterEvent(QGraphicsSceneHoverEvent *event) void UBGraphicsProtractor::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { mShowButtons = false; - setCursor(Qt::ArrowCursor); + unsetCursor(); update(); event->accept(); } @@ -291,6 +295,9 @@ void UBGraphicsProtractor::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) void UBGraphicsProtractor::hoverMoveEvent(QGraphicsSceneHoverEvent *event) { + if (UBDrawingController::drawingController ()->stylusTool() != UBStylusTool::Selector) + return; + Tool currentTool = toolFromPos(event->pos()); if (!mShowButtons)