From d08da567643677abeca420783754f31add7b0c54 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Sat, 20 Jun 2020 12:08:59 +0300 Subject: [PATCH] Improve moving items on scene smart-pattern/valentina#53. Increase delay to 160 ms. Set static margins. --- .../drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.cpp | 4 ++-- src/libs/vtools/tools/vtoolseamallowance.cpp | 6 +++--- src/libs/vwidgets/vcontrolpointspline.cpp | 4 ++-- src/libs/vwidgets/vgraphicssimpletextitem.cpp | 4 ++-- src/libs/vwidgets/vmaingraphicsview.cpp | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.cpp b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.cpp index 9b37260c9..4f450934a 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.cpp +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.cpp @@ -195,8 +195,8 @@ QVariant VToolBasePoint::itemChange(QGraphicsItem::GraphicsItemChange change, co if (VMainGraphicsView *view = qobject_cast(viewList.at(0))) { const qreal scale = SceneScale(scene()); - const int xmargin = qCeil(50/scale); - const int ymargin = qCeil(50/scale); + const int xmargin = 5; + const int ymargin = 5; const QRectF viewRect = VMainGraphicsView::SceneVisibleArea(view); const QRectF itemRect = mapToScene(boundingRect()).boundingRect(); diff --git a/src/libs/vtools/tools/vtoolseamallowance.cpp b/src/libs/vtools/tools/vtoolseamallowance.cpp index 1e6e65f9a..cad35d14a 100644 --- a/src/libs/vtools/tools/vtoolseamallowance.cpp +++ b/src/libs/vtools/tools/vtoolseamallowance.cpp @@ -978,8 +978,8 @@ QVariant VToolSeamAllowance::itemChange(QGraphicsItem::GraphicsItemChange change if (VMainGraphicsView *view = qobject_cast(viewList.at(0))) { const qreal scale = SceneScale(scene()); - const int xmargin = qCeil(50/scale); - const int ymargin = qCeil(50/scale); + const int xmargin = 5; + const int ymargin = 5; const QRectF viewRect = VMainGraphicsView::SceneVisibleArea(view); const QRectF itemRect = mapToScene(boundingRect()|childrenBoundingRect()).boundingRect(); @@ -988,7 +988,7 @@ QVariant VToolSeamAllowance::itemChange(QGraphicsItem::GraphicsItemChange change if (itemRect.height() + 2*ymargin < viewRect.height() && itemRect.width() + 2*xmargin < viewRect.width()) { - view->EnsureVisibleWithDelay(itemRect, VMainGraphicsView::scrollDelay, xmargin, ymargin); + view->EnsureVisibleWithDelay(this, VMainGraphicsView::scrollDelay, xmargin, ymargin); } else { diff --git a/src/libs/vwidgets/vcontrolpointspline.cpp b/src/libs/vwidgets/vcontrolpointspline.cpp index 0bdf95041..1d0a56b01 100644 --- a/src/libs/vwidgets/vcontrolpointspline.cpp +++ b/src/libs/vwidgets/vcontrolpointspline.cpp @@ -175,8 +175,8 @@ QVariant VControlPointSpline::itemChange(QGraphicsItem::GraphicsItemChange chang if (VMainGraphicsView *view = qobject_cast(viewList.at(0))) { const qreal scale = SceneScale(scene()); - const int xmargin = qCeil(50/scale); - const int ymargin = qCeil(50/scale); + const int xmargin = 5; + const int ymargin = 5; const QRectF viewRect = VMainGraphicsView::SceneVisibleArea(view); const QRectF itemRect = sceneBoundingRect(); diff --git a/src/libs/vwidgets/vgraphicssimpletextitem.cpp b/src/libs/vwidgets/vgraphicssimpletextitem.cpp index f8f4e64ac..e0529aaef 100644 --- a/src/libs/vwidgets/vgraphicssimpletextitem.cpp +++ b/src/libs/vwidgets/vgraphicssimpletextitem.cpp @@ -202,8 +202,8 @@ QVariant VGraphicsSimpleTextItem::itemChange(GraphicsItemChange change, const QV if (VMainGraphicsView *view = qobject_cast(viewList.at(0))) { const qreal scale = SceneScale(scene()); - int xmargin = qCeil(50/scale); - int ymargin = qCeil(50/scale); + int xmargin = 5; + int ymargin = 5; const QRectF viewRect = VMainGraphicsView::SceneVisibleArea(view); const QRectF itemRect = mapToScene(boundingRect()).boundingRect(); diff --git a/src/libs/vwidgets/vmaingraphicsview.cpp b/src/libs/vwidgets/vmaingraphicsview.cpp index 439f75140..3b4e69f46 100644 --- a/src/libs/vwidgets/vmaingraphicsview.cpp +++ b/src/libs/vwidgets/vmaingraphicsview.cpp @@ -411,7 +411,7 @@ void GraphicsViewZoom::PinchTriggered(QPinchGesture *gesture) } } -const unsigned long VMainGraphicsView::scrollDelay = 80; +const unsigned long VMainGraphicsView::scrollDelay = 160; //--------------------------------------------------------------------------------------------------------------------- /**