Skip to content

Commit 805be41

Browse files
committed
Visual snapping when adding first node or starting feature (fix #8300)
1 parent dc489df commit 805be41

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

src/app/qgsmaptoolcapture.cpp

+16-19
Original file line numberDiff line numberDiff line change
@@ -105,28 +105,25 @@ void QgsMapToolCapture::currentLayerChanged( QgsMapLayer *layer )
105105

106106
void QgsMapToolCapture::canvasMoveEvent( QMouseEvent * e )
107107
{
108-
if ( mCaptureMode == CapturePoint )
109-
return;
110-
111-
if ( mRubberBand && mCapturing )
108+
QgsPoint mapPoint;
109+
QList<QgsSnappingResult> snapResults;
110+
if ( mSnapper.snapToBackgroundLayers( e->pos(), snapResults ) == 0 )
112111
{
113-
QgsPoint mapPoint;
114-
QList<QgsSnappingResult> snapResults;
115-
if ( mSnapper.snapToBackgroundLayers( e->pos(), snapResults ) == 0 )
112+
while ( !mSnappingMarkers.isEmpty() )
113+
delete mSnappingMarkers.takeFirst();
114+
115+
foreach ( const QgsSnappingResult &r, snapResults )
116116
{
117-
while ( !mSnappingMarkers.isEmpty() )
118-
delete mSnappingMarkers.takeFirst();
119-
120-
foreach ( const QgsSnappingResult &r, snapResults )
121-
{
122-
QgsVertexMarker *m = new QgsVertexMarker( mCanvas );
123-
m->setIconType( QgsVertexMarker::ICON_CROSS );
124-
m->setColor( Qt::green );
125-
m->setPenWidth( 1 );
126-
m->setCenter( r.snappedVertex );
127-
mSnappingMarkers << m;
128-
}
117+
QgsVertexMarker *m = new QgsVertexMarker( mCanvas );
118+
m->setIconType( QgsVertexMarker::ICON_CROSS );
119+
m->setColor( Qt::green );
120+
m->setPenWidth( 2 );
121+
m->setCenter( r.snappedVertex );
122+
mSnappingMarkers << m;
123+
}
129124

125+
if ( mCaptureMode != CapturePoint && mRubberBand && mCapturing )
126+
{
130127
mapPoint = snapPointFromResults( snapResults, e->pos() );
131128
mRubberBand->movePoint( mapPoint );
132129
}

0 commit comments

Comments
 (0)