Needs to snap point too when CadDockWidget is enabled. Fixes #18138

This commit is contained in:
lbartoletti 2019-03-04 21:09:19 +01:00 committed by Martin Dobias
parent 857fe53773
commit 2a2b7a6532
2 changed files with 12 additions and 0 deletions

View File

@ -555,6 +555,8 @@ bool QgsAdvancedDigitizingDockWidget::applyConstraints( QgsMapMouseEvent *e )
mSnapMatch = context.snappingUtils->snapToMap( point );
mSnappedToVertex = mSnapMatch.hasVertex();
// update the point list
updateCurrentPoint( point );

View File

@ -34,6 +34,11 @@ void QgsMapToolAdvancedDigitizing::canvasPressEvent( QgsMapMouseEvent *e )
{
mCadDockWidget->applyConstraints( e ); // updates event's map point
if ( mCadDockWidget->mapPointMatch().hasVertex() )
{
e->snapPoint();
}
if ( mCadDockWidget->constructionMode() )
return; // decided to eat the event and not pass it to the map tool (construction mode)
}
@ -73,6 +78,11 @@ void QgsMapToolAdvancedDigitizing::canvasReleaseEvent( QgsMapMouseEvent *e )
mCadDockWidget->releaseLocks( false );
if ( mCadDockWidget->mapPointMatch().hasVertex() )
{
e->snapPoint();
}
if ( mCadDockWidget->constructionMode() )
return; // decided to eat the event and not pass it to the map tool (construction mode)
}