mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
Recreate nodeeditor only if new feature has been selected
This commit is contained in:
parent
863bf88f2b
commit
afd7e77fa2
@ -86,15 +86,18 @@ void QgsMapToolNodeTool::canvasMapPressEvent( QgsMapMouseEvent* e )
|
|||||||
// remove previous warning
|
// remove previous warning
|
||||||
emit messageDiscarded();
|
emit messageDiscarded();
|
||||||
|
|
||||||
delete mSelectedFeature;
|
if ( !mSelectedFeature || snapResults[0].snappedAtGeometry != mSelectedFeature->featureId() )
|
||||||
mSelectedFeature = new QgsSelectedFeature( snapResults[0].snappedAtGeometry, vlayer, mCanvas );
|
{
|
||||||
connect( QgisApp::instance()->layerTreeView(), SIGNAL( currentLayerChanged( QgsMapLayer* ) ), this, SLOT( currentLayerChanged( QgsMapLayer* ) ) );
|
delete mSelectedFeature;
|
||||||
connect( mSelectedFeature, SIGNAL( destroyed() ), this, SLOT( selectedFeatureDestroyed() ) );
|
mSelectedFeature = new QgsSelectedFeature( snapResults[0].snappedAtGeometry, vlayer, mCanvas );
|
||||||
connect( mSelectedFeature, SIGNAL( lastVertexChanged( const QgsPointV2& ) ), this, SLOT( changeLastVertex( const QgsPointV2& ) ) );
|
connect( QgisApp::instance()->layerTreeView(), SIGNAL( currentLayerChanged( QgsMapLayer* ) ), this, SLOT( currentLayerChanged( QgsMapLayer* ) ) );
|
||||||
connect( vlayer, SIGNAL( editingStopped() ), this, SLOT( editingToggled() ) );
|
connect( mSelectedFeature, SIGNAL( destroyed() ), this, SLOT( selectedFeatureDestroyed() ) );
|
||||||
mIsPoint = vlayer->geometryType() == QGis::Point;
|
connect( mSelectedFeature, SIGNAL( lastVertexChanged( const QgsPointV2& ) ), this, SLOT( changeLastVertex( const QgsPointV2& ) ) );
|
||||||
mNodeEditor = new QgsNodeEditor( vlayer, mSelectedFeature, mCanvas );
|
connect( vlayer, SIGNAL( editingStopped() ), this, SLOT( editingToggled() ) );
|
||||||
QgisApp::instance()->addDockWidget( Qt::LeftDockWidgetArea, mNodeEditor );
|
mIsPoint = vlayer->geometryType() == QGis::Point;
|
||||||
|
mNodeEditor = new QgsNodeEditor( vlayer, mSelectedFeature, mCanvas );
|
||||||
|
QgisApp::instance()->addDockWidget( Qt::LeftDockWidgetArea, mNodeEditor );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//select or move vertices if selected feature has not been changed
|
//select or move vertices if selected feature has not been changed
|
||||||
|
Loading…
x
Reference in New Issue
Block a user