diff --git a/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp b/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp index cb1d10d1c..dc25e90d0 100644 --- a/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp +++ b/src/libs/vtools/tools/nodeDetails/vnodepoint.cpp @@ -294,6 +294,5 @@ void VNodePoint::RefreshLine() //--------------------------------------------------------------------------------------------------------------------- void VNodePoint::EnableToolMove(bool move) { - this->setFlag(QGraphicsItem::ItemIsMovable, move); namePoint->setFlag(QGraphicsItem::ItemIsMovable, move); } diff --git a/src/libs/vtools/tools/vtooldetail.cpp b/src/libs/vtools/tools/vtooldetail.cpp index ef7540a99..8f8f05247 100644 --- a/src/libs/vtools/tools/vtooldetail.cpp +++ b/src/libs/vtools/tools/vtooldetail.cpp @@ -105,6 +105,8 @@ VToolDetail::VToolDetail(VAbstractPattern *doc, VContainer *data, const quint32 RefreshGeometry(); this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); this->setFlag(QGraphicsItem::ItemIsFocusable, true); + + connect(scene, &VMainGraphicsScene::EnableToolMove, this, &VToolDetail::EnableToolMove); if (typeCreation == Source::FromGui || typeCreation == Source::FromTool) { AddToFile(); @@ -426,14 +428,20 @@ void VToolDetail::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) void VToolDetail::hoverMoveEvent(QGraphicsSceneHoverEvent *event) { Q_UNUSED(event); - SetOverrideCursor(cursorArrowOpenHand, 1, 1); + if (flags() & QGraphicsItem::ItemIsMovable) + { + SetOverrideCursor(cursorArrowOpenHand, 1, 1); + } } //--------------------------------------------------------------------------------------------------------------------- void VToolDetail::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { Q_UNUSED(event); - SetOverrideCursor(cursorArrowOpenHand, 1, 1); + if (flags() & QGraphicsItem::ItemIsMovable) + { + SetOverrideCursor(cursorArrowOpenHand, 1, 1); + } } ////--------------------------------------------------------------------------------------------------------------------- @@ -441,7 +449,10 @@ void VToolDetail::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) { Q_UNUSED(event); //Disable cursor-arrow-openhand - RestoreOverrideCursor(cursorArrowOpenHand); + if (flags() & QGraphicsItem::ItemIsMovable) + { + RestoreOverrideCursor(cursorArrowOpenHand); + } } //--------------------------------------------------------------------------------------------------------------------- @@ -607,3 +618,9 @@ void VToolDetail::InitTool(VMainGraphicsScene *scene, const VNodeDetail &node) tool->setParentItem(this); doc->IncrementReferens(node.getId()); } + +//--------------------------------------------------------------------------------------------------------------------- +void VToolDetail::EnableToolMove(bool move) +{ + this->setFlag(QGraphicsItem::ItemIsMovable, move); +} diff --git a/src/libs/vtools/tools/vtooldetail.h b/src/libs/vtools/tools/vtooldetail.h index f9f60740b..91670dd09 100644 --- a/src/libs/vtools/tools/vtooldetail.h +++ b/src/libs/vtools/tools/vtooldetail.h @@ -89,6 +89,7 @@ public: public slots: virtual void FullUpdateFromFile () Q_DECL_OVERRIDE; virtual void FullUpdateFromGuiOk(int result); + void EnableToolMove(bool move); protected: virtual void AddToFile () Q_DECL_OVERRIDE; virtual void RefreshDataInFile() Q_DECL_OVERRIDE;