From f346dceeaff3bedf77eef6ca2a5c13308c2309ce Mon Sep 17 00:00:00 2001 From: lbartoletti Date: Tue, 23 Oct 2018 16:15:21 +0200 Subject: [PATCH] Updating the vertexEditor after moving vertices or edges (#8032) --- src/app/vertextool/qgsvertextool.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/app/vertextool/qgsvertextool.cpp b/src/app/vertextool/qgsvertextool.cpp index 7cc1ba96bcc..cf247fed32f 100644 --- a/src/app/vertextool/qgsvertextool.cpp +++ b/src/app/vertextool/qgsvertextool.cpp @@ -1580,6 +1580,9 @@ void QgsVertexTool::moveVertex( const QgsPointXY &mapPoint, const QgsPointLocato } } + if ( mVertexEditor ) + mVertexEditor->updateEditor( dragLayer, mSelectedFeature.get() ); + setHighlightedVertices( mSelectedVertices ); // update positions of existing highlighted vertices setHighlightedVerticesVisible( true ); // time to show highlighted vertices again } @@ -1632,9 +1635,22 @@ void QgsVertexTool::applyEditsToLayers( QgsVertexTool::VertexEdits &edits ) layer->beginEditCommand( tr( "Moved vertex" ) ); QHash::iterator it2 = layerEdits.begin(); for ( ; it2 != layerEdits.end(); ++it2 ) + { layer->changeGeometry( it2.key(), it2.value() ); + for ( int i = 0; i < mSelectedVertices.length(); ++i ) + { + if ( mSelectedVertices.at( i ).layer == layer && mSelectedVertices.at( i ).fid == it2.value() ) + { + mSelectedFeature->selectVertex( mSelectedVertices.at( i ).vertexId ); + } + } + } layer->endEditCommand(); layer->triggerRepaint(); + + + if ( mVertexEditor ) + mVertexEditor->updateEditor( layer, mSelectedFeature.get() ); } }