@@ -484,7 +484,7 @@ void QgsVertexTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
484
484
if ( mNewVertexFromDoubleClick )
485
485
{
486
486
QgsPointLocator::Match m ( *mNewVertexFromDoubleClick );
487
- if ( mSelectedFeature && ( mSelectedFeature ->featureId () != m.featureId () || mSelectedFeature ->layer () != m.layer () ) )
487
+ if ( mLockedFeature && ( mLockedFeature ->featureId () != m.featureId () || mLockedFeature ->layer () != m.layer () ) )
488
488
return ; // when a feature is bound to the vector editor, only process actions on that feature
489
489
490
490
mNewVertexFromDoubleClick .reset ();
@@ -510,7 +510,6 @@ void QgsVertexTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
510
510
QgsRectangle map_rect ( pt0, pt1 );
511
511
QList<Vertex> vertices;
512
512
QList<Vertex> selectedVertices;
513
- QList<Vertex> editorVertices;
514
513
515
514
// the logic for selecting vertices using rectangle:
516
515
// - if we have a bound (locked) feature, we only allow selection of its vertices
@@ -526,15 +525,15 @@ void QgsVertexTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
526
525
if ( mMode == ActiveLayer && vlayer != currentVectorLayer () )
527
526
continue ;
528
527
529
- if ( mSelectedFeature && mSelectedFeature ->layer () != vlayer )
528
+ if ( mLockedFeature && mLockedFeature ->layer () != vlayer )
530
529
continue ; // with locked feature we only allow selection of its vertices
531
530
532
531
QgsRectangle layerRect = toLayerCoordinates ( vlayer, map_rect );
533
532
QgsFeature f;
534
533
QgsFeatureIterator fi = vlayer->getFeatures ( QgsFeatureRequest ( layerRect ).setNoAttributes () );
535
534
while ( fi.nextFeature ( f ) )
536
535
{
537
- if ( mSelectedFeature && mSelectedFeature ->featureId () != f.id () )
536
+ if ( mLockedFeature && mLockedFeature ->featureId () != f.id () )
538
537
continue ; // with locked feature we only allow selection of its vertices
539
538
540
539
bool isFeatureSelected = vlayer->selectedFeatureIds ().contains ( f.id () );
@@ -554,7 +553,7 @@ void QgsVertexTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
554
553
}
555
554
556
555
// here's where we give precedence to vertices of selected features in case there's no bound (locked) feature
557
- if ( !mSelectedFeature && !selectedVertices.isEmpty () )
556
+ if ( !mLockedFeature && !selectedVertices.isEmpty () )
558
557
{
559
558
vertices = selectedVertices;
560
559
}
@@ -987,7 +986,7 @@ void QgsVertexTool::tryToSelectFeature( QgsMapMouseEvent *e )
987
986
{
988
987
// there's really nothing under the cursor or while cycling through the list of available features
989
988
// we got to the end of the list - let's deselect any feature we may have had selected
990
- mSelectedFeature .reset ();
989
+ mLockedFeature .reset ();
991
990
if ( mVertexEditor )
992
991
{
993
992
mVertexEditor ->updateEditor ( nullptr );
@@ -1064,7 +1063,7 @@ void QgsVertexTool::mouseMoveNotDragging( QgsMapMouseEvent *e )
1064
1063
1065
1064
// do not use snap from mouse event, use our own with any editable layer
1066
1065
QgsPointLocator::Match m = snapToEditableLayer ( e );
1067
- bool targetIsAllowed = ( !mSelectedFeature || ( mSelectedFeature ->featureId () == m.featureId () && mSelectedFeature ->layer () == m.layer () ) );
1066
+ bool targetIsAllowed = ( !mLockedFeature || ( mLockedFeature ->featureId () == m.featureId () && mLockedFeature ->layer () == m.layer () ) );
1068
1067
1069
1068
// possibility to move a vertex
1070
1069
if ( m.type () == QgsPointLocator::Vertex && targetIsAllowed )
@@ -1160,7 +1159,7 @@ void QgsVertexTool::mouseMoveNotDragging( QgsMapMouseEvent *e )
1160
1159
1161
1160
// when we are "locked" to a feature, we don't want to highlight any other features
1162
1161
// so the user does not get distracted
1163
- updateFeatureBand ( mSelectedFeature ? QgsPointLocator::Match () : m );
1162
+ updateFeatureBand ( mLockedFeature ? QgsPointLocator::Match () : m );
1164
1163
}
1165
1164
1166
1165
void QgsVertexTool::updateVertexBand ( const QgsPointLocator::Match &m )
@@ -1298,8 +1297,8 @@ void QgsVertexTool::onCachedGeometryChanged( QgsFeatureId fid, const QgsGeometry
1298
1297
// re-run validation for the feature
1299
1298
validateGeometry ( layer, fid );
1300
1299
1301
- if ( mVertexEditor && mSelectedFeature && mSelectedFeature ->featureId () == fid && mSelectedFeature ->layer () == layer )
1302
- mVertexEditor ->updateEditor ( mSelectedFeature .get () );
1300
+ if ( mVertexEditor && mLockedFeature && mLockedFeature ->featureId () == fid && mLockedFeature ->layer () == layer )
1301
+ mVertexEditor ->updateEditor ( mLockedFeature .get () );
1303
1302
}
1304
1303
1305
1304
void QgsVertexTool::onCachedGeometryDeleted ( QgsFeatureId fid )
@@ -1318,32 +1317,32 @@ void QgsVertexTool::updateVertexEditor( QgsVectorLayer *layer, QgsFeatureId fid
1318
1317
{
1319
1318
if ( layer )
1320
1319
{
1321
- if ( mSelectedFeature && mSelectedFeature ->featureId () == fid && mSelectedFeature ->layer () == layer )
1320
+ if ( mLockedFeature && mLockedFeature ->featureId () == fid && mLockedFeature ->layer () == layer )
1322
1321
{
1323
1322
// if show feature is called on a feature that's already binded to the vertex editor, toggle it off
1324
- mSelectedFeature .reset ();
1323
+ mLockedFeature .reset ();
1325
1324
if ( mVertexEditor )
1326
1325
{
1327
1326
mVertexEditor ->updateEditor ( nullptr );
1328
1327
}
1329
1328
return ;
1330
1329
}
1331
1330
1332
- mSelectedFeature .reset ( new QgsSelectedFeature ( fid, layer, mCanvas ) );
1333
- connect ( mSelectedFeature ->layer (), &QgsVectorLayer::featureDeleted, this , &QgsVertexTool::cleanEditor );
1331
+ mLockedFeature .reset ( new QgsSelectedFeature ( fid, layer, mCanvas ) );
1332
+ connect ( mLockedFeature ->layer (), &QgsVectorLayer::featureDeleted, this , &QgsVertexTool::cleanEditor );
1334
1333
for ( int i = 0 ; i < mSelectedVertices .length (); ++i )
1335
1334
{
1336
1335
if ( mSelectedVertices .at ( i ).layer == layer && mSelectedVertices .at ( i ).fid == fid )
1337
1336
{
1338
- mSelectedFeature ->selectVertex ( mSelectedVertices .at ( i ).vertexId );
1337
+ mLockedFeature ->selectVertex ( mSelectedVertices .at ( i ).vertexId );
1339
1338
}
1340
1339
}
1341
1340
}
1342
1341
1343
1342
// make sure the vertex editor is alive and visible
1344
1343
showVertexEditor (); // #spellok
1345
1344
1346
- mVertexEditor ->updateEditor ( mSelectedFeature .get () );
1345
+ mVertexEditor ->updateEditor ( mLockedFeature .get () );
1347
1346
}
1348
1347
1349
1348
void QgsVertexTool::showVertexEditor () // #spellok
@@ -1369,7 +1368,7 @@ void QgsVertexTool::showVertexEditor() //#spellok
1369
1368
1370
1369
void QgsVertexTool::cleanupVertexEditor ()
1371
1370
{
1372
- mSelectedFeature .reset ();
1371
+ mLockedFeature .reset ();
1373
1372
mVertexEditor .reset ();
1374
1373
}
1375
1374
@@ -1394,18 +1393,18 @@ static void _safeSelectVertex( QgsSelectedFeature &selectedFeature, int vertexNr
1394
1393
1395
1394
void QgsVertexTool::deleteVertexEditorSelection ()
1396
1395
{
1397
- if ( !mSelectedFeature )
1396
+ if ( !mLockedFeature )
1398
1397
return ;
1399
1398
1400
- int firstSelectedIndex = _firstSelectedVertex ( *mSelectedFeature );
1399
+ int firstSelectedIndex = _firstSelectedVertex ( *mLockedFeature );
1401
1400
if ( firstSelectedIndex == -1 )
1402
1401
return ;
1403
1402
1404
1403
// make a list of selected vertices
1405
1404
QList<Vertex> vertices;
1406
- QList<QgsVertexEntry *> &selFeatureVertices = mSelectedFeature ->vertexMap ();
1407
- QgsVectorLayer *layer = mSelectedFeature ->layer ();
1408
- QgsFeatureId fid = mSelectedFeature ->featureId ();
1405
+ QList<QgsVertexEntry *> &selFeatureVertices = mLockedFeature ->vertexMap ();
1406
+ QgsVectorLayer *layer = mLockedFeature ->layer ();
1407
+ QgsFeatureId fid = mLockedFeature ->featureId ();
1409
1408
QgsGeometry geometry = cachedGeometry ( layer, fid );
1410
1409
for ( QgsVertexEntry *vertex : qgis::as_const ( selFeatureVertices ) )
1411
1410
{
@@ -1421,18 +1420,18 @@ void QgsVertexTool::deleteVertexEditorSelection()
1421
1420
setHighlightedVertices ( vertices );
1422
1421
deleteVertex ();
1423
1422
1424
- if ( !mSelectedFeature ->geometry ()->isNull () )
1423
+ if ( !mLockedFeature ->geometry ()->isNull () )
1425
1424
{
1426
1425
int nextVertexToSelect = firstSelectedIndex;
1427
- if ( mSelectedFeature ->geometry ()->type () == QgsWkbTypes::LineGeometry )
1426
+ if ( mLockedFeature ->geometry ()->type () == QgsWkbTypes::LineGeometry )
1428
1427
{
1429
1428
// for lines we don't wrap around vertex selection when deleting vertices from end of line
1430
- nextVertexToSelect = std::min ( nextVertexToSelect, mSelectedFeature ->geometry ()->constGet ()->nCoordinates () - 1 );
1429
+ nextVertexToSelect = std::min ( nextVertexToSelect, mLockedFeature ->geometry ()->constGet ()->nCoordinates () - 1 );
1431
1430
}
1432
1431
1433
- _safeSelectVertex ( *mSelectedFeature , nextVertexToSelect );
1432
+ _safeSelectVertex ( *mLockedFeature , nextVertexToSelect );
1434
1433
}
1435
- mSelectedFeature ->layer ()->triggerRepaint ();
1434
+ mLockedFeature ->layer ()->triggerRepaint ();
1436
1435
}
1437
1436
1438
1437
@@ -1448,7 +1447,7 @@ void QgsVertexTool::startDragging( QgsMapMouseEvent *e )
1448
1447
QgsPointLocator::Match m = snapToEditableLayer ( e );
1449
1448
if ( !m.isValid () )
1450
1449
return ;
1451
- if ( mSelectedFeature && ( mSelectedFeature ->featureId () != m.featureId () || mSelectedFeature ->layer () != m.layer () ) )
1450
+ if ( mLockedFeature && ( mLockedFeature ->featureId () != m.featureId () || mLockedFeature ->layer () != m.layer () ) )
1452
1451
return ; // when a feature is bound to the vertex editor, only process actions for that feature
1453
1452
1454
1453
// activate advanced digitizing dock
@@ -1965,7 +1964,7 @@ void QgsVertexTool::moveVertex( const QgsPointXY &mapPoint, const QgsPointLocato
1965
1964
}
1966
1965
1967
1966
if ( mVertexEditor )
1968
- mVertexEditor ->updateEditor ( mSelectedFeature .get () );
1967
+ mVertexEditor ->updateEditor ( mLockedFeature .get () );
1969
1968
1970
1969
setHighlightedVertices ( mSelectedVertices ); // update positions of existing highlighted vertices
1971
1970
setHighlightedVerticesVisible ( true ); // time to show highlighted vertices again
@@ -2060,7 +2059,7 @@ void QgsVertexTool::applyEditsToLayers( QgsVertexTool::VertexEdits &edits )
2060
2059
layer->triggerRepaint ();
2061
2060
2062
2061
if ( mVertexEditor )
2063
- mVertexEditor ->updateEditor ( mSelectedFeature .get () );
2062
+ mVertexEditor ->updateEditor ( mLockedFeature .get () );
2064
2063
}
2065
2064
}
2066
2065
@@ -2220,8 +2219,8 @@ void QgsVertexTool::deleteVertex()
2220
2219
}
2221
2220
}
2222
2221
2223
- if ( mVertexEditor && mSelectedFeature )
2224
- mVertexEditor ->updateEditor ( mSelectedFeature .get () );
2222
+ if ( mVertexEditor && mLockedFeature )
2223
+ mVertexEditor ->updateEditor ( mLockedFeature .get () );
2225
2224
}
2226
2225
2227
2226
void QgsVertexTool::setHighlightedVertices ( const QList<Vertex> &listVertices, HighlightMode mode )
@@ -2676,7 +2675,7 @@ void QgsVertexTool::stopRangeVertexSelection()
2676
2675
2677
2676
void QgsVertexTool::cleanEditor ( QgsFeatureId id )
2678
2677
{
2679
- if ( mSelectedFeature && mSelectedFeature ->featureId () == id )
2678
+ if ( mLockedFeature && mLockedFeature ->featureId () == id )
2680
2679
{
2681
2680
cleanupVertexEditor ();
2682
2681
};
0 commit comments