@@ -4732,7 +4732,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
47324732 {
47334733 mActionToggleEditing ->setEnabled (true );
47344734 mActionToggleEditing ->setChecked (vlayer->isEditable ());
4735- mActionEditPaste ->setEnabled (true );
4735+ mActionEditPaste ->setEnabled (vlayer-> isEditable () );
47364736 }
47374737 else
47384738 {
@@ -4741,7 +4741,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
47414741 }
47424742
47434743 // does provider allow deleting of features?
4744- if (dprovider->capabilities () & QgsVectorDataProvider::DeleteFeatures)
4744+ if (vlayer-> isEditable () && dprovider->capabilities () & QgsVectorDataProvider::DeleteFeatures)
47454745 {
47464746 mActionDeleteSelected ->setEnabled (true );
47474747 mActionEditCut ->setEnabled (true );
@@ -4755,7 +4755,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
47554755
47564756 if (vlayer->vectorType () == QGis::Point)
47574757 {
4758- if (dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
4758+ if (vlayer-> isEditable () && dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
47594759 {
47604760 mActionCapturePoint ->setEnabled (true );
47614761 }
@@ -4777,7 +4777,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
47774777 }
47784778 else if (vlayer->vectorType () == QGis::Line)
47794779 {
4780- if (dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
4780+ if (vlayer-> isEditable () && dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
47814781 {
47824782 mActionCaptureLine ->setEnabled (true );
47834783 }
@@ -4792,7 +4792,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
47924792 }
47934793 else if (vlayer->vectorType () == QGis::Polygon)
47944794 {
4795- if (dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
4795+ if (vlayer-> isEditable () && dprovider->capabilities () & QgsVectorDataProvider::AddFeatures)
47964796 {
47974797 mActionCapturePolygon ->setEnabled (true );
47984798 }
@@ -4805,7 +4805,7 @@ void QgisApp::activateDeactivateLayerRelatedActions(QgsMapLayer* layer)
48054805 }
48064806
48074807 // are add/delete/move vertex supported?
4808- if (dprovider->capabilities () & QgsVectorDataProvider::ChangeGeometries)
4808+ if (vlayer-> isEditable () && dprovider->capabilities () & QgsVectorDataProvider::ChangeGeometries)
48094809 {
48104810 mActionAddVertex ->setEnabled (true );
48114811 mActionMoveVertex ->setEnabled (true );
0 commit comments