@@ -834,7 +834,7 @@ void QgisApp::dropEvent( QDropEvent *event )
834
834
}
835
835
}
836
836
}
837
- mMapCanvas ->freeze (false );
837
+ mMapCanvas ->freeze ( false );
838
838
mMapCanvas ->refresh ();
839
839
event->acceptProposedAction ();
840
840
}
@@ -6810,8 +6810,8 @@ QgsVectorLayer* QgisApp::addVectorLayer( QString vectorLayerPath, QString baseNa
6810
6810
// Let the caller do it otherwise
6811
6811
if ( !wasfrozen )
6812
6812
{
6813
- mMapCanvas ->freeze ( false );
6814
- mMapCanvas ->refresh ();
6813
+ mMapCanvas ->freeze ( false );
6814
+ mMapCanvas ->refresh ();
6815
6815
}
6816
6816
6817
6817
// Let render() do its own cursor management
@@ -8008,8 +8008,9 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8008
8008
{
8009
8009
QgsVectorLayer* vlayer = qobject_cast<QgsVectorLayer *>( layer );
8010
8010
QgsVectorDataProvider* dprovider = vlayer->dataProvider ();
8011
+
8011
8012
bool isEditable = vlayer->isEditable ();
8012
- bool layerHasSelection = vlayer->selectedFeatureCount () != 0 ;
8013
+ bool layerHasSelection = vlayer->selectedFeatureCount () > 0 ;
8013
8014
bool layerHasActions = vlayer->actions ()->size () > 0 ;
8014
8015
8015
8016
bool canChangeAttributes = dprovider->capabilities () & QgsVectorDataProvider::ChangeAttributeValues;
@@ -8045,7 +8046,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8045
8046
8046
8047
if ( dprovider )
8047
8048
{
8048
- mActionLayerSubsetString ->setEnabled ( dprovider->supportsSubsetString () && !isEditable );
8049
+ mActionLayerSubsetString ->setEnabled ( !isEditable && dprovider->supportsSubsetString () );
8049
8050
8050
8051
mActionToggleEditing ->setEnabled ( canSupportEditing && !vlayer->isReadOnly () );
8051
8052
mActionToggleEditing ->setChecked ( canSupportEditing && isEditable );
@@ -8060,8 +8061,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8060
8061
updateUndoActions ();
8061
8062
}
8062
8063
8063
- mActionPasteFeatures ->setEnabled ( canAddAttributes && isEditable && !clipboard ()->empty () );
8064
- mActionAddFeature ->setEnabled ( canAddAttributes && isEditable );
8064
+ mActionPasteFeatures ->setEnabled ( isEditable && canAddFeatures && !clipboard ()->empty () );
8065
+ mActionAddFeature ->setEnabled ( isEditable && canAddFeatures );
8065
8066
8066
8067
// does provider allow deleting of features?
8067
8068
mActionDeleteSelected ->setEnabled ( isEditable && canDeleteFeatures && layerHasSelection );
@@ -8070,10 +8071,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8070
8071
// merge tool needs editable layer and provider with the capability of adding and deleting features
8071
8072
if ( isEditable && canChangeAttributes )
8072
8073
{
8073
- mActionMergeFeatures ->setEnabled ( layerHasSelection &&
8074
- canDeleteFeatures &&
8075
- canAddAttributes );
8076
-
8074
+ mActionMergeFeatures ->setEnabled ( layerHasSelection && canDeleteFeatures && canAddFeatures );
8077
8075
mActionMergeFeatureAttributes ->setEnabled ( layerHasSelection );
8078
8076
}
8079
8077
else
@@ -8089,8 +8087,6 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8089
8087
mActionRotateFeature ->setEnabled ( isEditable && canChangeGeometry );
8090
8088
mActionNodeTool ->setEnabled ( isEditable && canChangeGeometry );
8091
8089
8092
- mActionOffsetCurve ->setEnabled ( false );
8093
-
8094
8090
if ( vlayer->geometryType () == QGis::Point )
8095
8091
{
8096
8092
mActionAddFeature ->setIcon ( QgsApplication::getThemeIcon ( " /mActionCapturePoint.png" ) );
@@ -8101,6 +8097,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8101
8097
mActionSimplifyFeature ->setEnabled ( false );
8102
8098
mActionDeleteRing ->setEnabled ( false );
8103
8099
mActionRotatePointSymbols ->setEnabled ( false );
8100
+ mActionOffsetCurve ->setEnabled ( false );
8104
8101
8105
8102
if ( isEditable && canChangeAttributes )
8106
8103
{
@@ -8109,6 +8106,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8109
8106
mActionRotatePointSymbols ->setEnabled ( true );
8110
8107
}
8111
8108
}
8109
+
8112
8110
return ;
8113
8111
}
8114
8112
else if ( vlayer->geometryType () == QGis::Line )
@@ -8132,9 +8130,10 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8132
8130
mActionSplitFeatures ->setEnabled ( isEditable && canAddFeatures );
8133
8131
mActionSimplifyFeature ->setEnabled ( isEditable && canAddFeatures );
8134
8132
mActionDeleteRing ->setEnabled ( isEditable && canAddFeatures );
8133
+ mActionOffsetCurve ->setEnabled ( false );
8135
8134
}
8136
8135
8137
- mActionOpenFieldCalc ->setEnabled (( canChangeAttributes || canAddAttributes ) && isEditable );
8136
+ mActionOpenFieldCalc ->setEnabled ( isEditable && ( canChangeAttributes || canAddAttributes ) );
8138
8137
8139
8138
return ;
8140
8139
}
@@ -8145,10 +8144,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8145
8144
mActionRedo ->setEnabled ( false );
8146
8145
}
8147
8146
8148
-
8149
-
8150
8147
mActionLayerSubsetString ->setEnabled ( false );
8151
- }// end vector layer block
8148
+ } // end vector layer block
8152
8149
/* ************Raster layers*************/
8153
8150
else if ( layer->type () == QgsMapLayer::RasterLayer )
8154
8151
{
0 commit comments