@@ -1441,6 +1441,7 @@ QgisApp::~QgisApp()
1441
1441
delete mMapTools .mMoveFeatureCopy ;
1442
1442
delete mMapTools .mMoveLabel ;
1443
1443
delete mMapTools .mVertexTool ;
1444
+ delete mMapTools .mVertexToolActiveLayer ;
1444
1445
delete mMapTools .mOffsetCurve ;
1445
1446
delete mMapTools .mPinLabels ;
1446
1447
delete mMapTools .mReshapeFeatures ;
@@ -2024,6 +2025,7 @@ void QgisApp::createActions()
2024
2025
connect ( mActionMergeFeatureAttributes , &QAction::triggered, this , &QgisApp::mergeAttributesOfSelectedFeatures );
2025
2026
connect ( mActionMultiEditAttributes , &QAction::triggered, this , &QgisApp::modifyAttributesOfSelectedFeatures );
2026
2027
connect ( mActionVertexTool , &QAction::triggered, this , &QgisApp::vertexTool );
2028
+ connect ( mActionVertexToolActiveLayer , &QAction::triggered, this , &QgisApp::vertexToolActiveLayer );
2027
2029
connect ( mActionRotatePointSymbols , &QAction::triggered, this , &QgisApp::rotatePointSymbols );
2028
2030
connect ( mActionOffsetPointSymbol , &QAction::triggered, this , &QgisApp::offsetPointSymbol );
2029
2031
connect ( mActionSnappingOptions , &QAction::triggered, this , &QgisApp::snappingOptions );
@@ -2311,6 +2313,7 @@ void QgisApp::createActionGroups()
2311
2313
mMapToolGroup ->addAction ( mActionMergeFeatures );
2312
2314
mMapToolGroup ->addAction ( mActionMergeFeatureAttributes );
2313
2315
mMapToolGroup ->addAction ( mActionVertexTool );
2316
+ mMapToolGroup ->addAction ( mActionVertexToolActiveLayer );
2314
2317
mMapToolGroup ->addAction ( mActionRotatePointSymbols );
2315
2318
mMapToolGroup ->addAction ( mActionOffsetPointSymbol );
2316
2319
mMapToolGroup ->addAction ( mActionPinLabels );
@@ -2875,6 +2878,16 @@ void QgisApp::createToolBars()
2875
2878
connect ( moveFeatureButton, &QToolButton::triggered, this , &QgisApp::toolButtonActionTriggered );
2876
2879
mAdvancedDigitizeToolBar ->insertWidget ( mActionRotateFeature , moveFeatureButton );
2877
2880
2881
+ // vertex tool button
2882
+ QToolButton *vertexToolButton = new QToolButton ( mDigitizeToolBar );
2883
+ vertexToolButton->setPopupMode ( QToolButton::MenuButtonPopup );
2884
+ vertexToolButton->addAction ( mActionVertexTool );
2885
+ vertexToolButton->addAction ( mActionVertexToolActiveLayer );
2886
+ mAdvancedDigitizeToolBar ->insertWidget ( mActionDeleteSelected , vertexToolButton );
2887
+ QAction *defActionVertexTool = mActionVertexTool ;
2888
+ vertexToolButton->setDefaultAction ( defActionVertexTool );
2889
+ connect ( vertexToolButton, &QToolButton::triggered, this , &QgisApp::toolButtonActionTriggered );
2890
+
2878
2891
bt = new QToolButton ();
2879
2892
bt->setPopupMode ( QToolButton::MenuButtonPopup );
2880
2893
bt->addAction ( mActionRotatePointSymbols );
@@ -3185,6 +3198,7 @@ void QgisApp::setTheme( const QString &themeName )
3185
3198
mActionSplitParts ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionSplitParts.svg" ) ) );
3186
3199
mActionDeleteSelected ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionDeleteSelected.svg" ) ) );
3187
3200
mActionVertexTool ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionVertexTool.svg" ) ) );
3201
+ mActionVertexToolActiveLayer ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionVertexToolActiveLayer.svg" ) ) );
3188
3202
mActionSimplifyFeature ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionSimplify.svg" ) ) );
3189
3203
mActionUndo ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionUndo.svg" ) ) );
3190
3204
mActionRedo ->setIcon ( QgsApplication::getThemeIcon ( QStringLiteral ( " /mActionRedo.svg" ) ) );
@@ -3478,6 +3492,8 @@ void QgisApp::createCanvasTools()
3478
3492
mMapTools .mDeletePart ->setAction ( mActionDeletePart );
3479
3493
mMapTools .mVertexTool = new QgsVertexTool ( mMapCanvas , mAdvancedDigitizingDockWidget );
3480
3494
mMapTools .mVertexTool ->setAction ( mActionVertexTool );
3495
+ mMapTools .mVertexToolActiveLayer = new QgsVertexTool ( mMapCanvas , mAdvancedDigitizingDockWidget , true );
3496
+ mMapTools .mVertexToolActiveLayer ->setAction ( mActionVertexToolActiveLayer );
3481
3497
mMapTools .mRotatePointSymbolsTool = new QgsMapToolRotatePointSymbols ( mMapCanvas );
3482
3498
mMapTools .mRotatePointSymbolsTool ->setAction ( mActionRotatePointSymbols );
3483
3499
mMapTools .mOffsetPointSymbolTool = new QgsMapToolOffsetPointSymbol ( mMapCanvas );
@@ -8245,6 +8261,11 @@ void QgisApp::vertexTool()
8245
8261
mMapCanvas ->setMapTool ( mMapTools .mVertexTool );
8246
8262
}
8247
8263
8264
+ void QgisApp::vertexToolActiveLayer ()
8265
+ {
8266
+ mMapCanvas ->setMapTool ( mMapTools .mVertexToolActiveLayer );
8267
+ }
8268
+
8248
8269
void QgisApp::rotatePointSymbols ()
8249
8270
{
8250
8271
mMapCanvas ->setMapTool ( mMapTools .mRotatePointSymbolsTool );
@@ -11927,6 +11948,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
11927
11948
mActionRotateFeature ->setEnabled ( false );
11928
11949
mActionOffsetCurve ->setEnabled ( false );
11929
11950
mActionVertexTool ->setEnabled ( false );
11951
+ mActionVertexToolActiveLayer ->setEnabled ( false );
11930
11952
mActionDeleteSelected ->setEnabled ( false );
11931
11953
mActionCutFeatures ->setEnabled ( false );
11932
11954
mActionCopyFeatures ->setEnabled ( false );
@@ -12108,6 +12130,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
12108
12130
mActionMoveFeatureCopy ->setEnabled ( isEditable && canChangeGeometry );
12109
12131
mActionRotateFeature ->setEnabled ( isEditable && canChangeGeometry );
12110
12132
mActionVertexTool ->setEnabled ( isEditable && canChangeGeometry );
12133
+ mActionVertexToolActiveLayer ->setEnabled ( isEditable && canChangeGeometry );
12111
12134
12112
12135
if ( vlayer->geometryType () == QgsWkbTypes::PointGeometry )
12113
12136
{
@@ -12262,6 +12285,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer *layer )
12262
12285
mActionFillRing ->setEnabled ( false );
12263
12286
mActionAddPart ->setEnabled ( false );
12264
12287
mActionVertexTool ->setEnabled ( false );
12288
+ mActionVertexToolActiveLayer ->setEnabled ( false );
12265
12289
mActionMoveFeature ->setEnabled ( false );
12266
12290
mActionMoveFeatureCopy ->setEnabled ( false );
12267
12291
mActionRotateFeature ->setEnabled ( false );
0 commit comments