@@ -398,20 +398,22 @@ void QgsVectorLayerProperties::editingToggled()
398
398
399
399
void QgsVectorLayerProperties::updateButtons ()
400
400
{
401
+ int cap = layer->dataProvider ()->capabilities ();
402
+
403
+ mToggleEditingButton ->setEnabled (( cap & QgsVectorDataProvider::EditingCapabilities ) && !layer->isReadOnly () );
404
+ mToggleEditingButton ->setChecked ( layer->isEditable () );
405
+
401
406
if ( layer->isEditable () )
402
407
{
403
- int cap = layer->dataProvider ()->capabilities ();
404
408
mAddAttributeButton ->setEnabled ( cap & QgsVectorDataProvider::AddAttributes );
405
409
mDeleteAttributeButton ->setEnabled ( cap & QgsVectorDataProvider::DeleteAttributes );
406
410
mCalculateFieldButton ->setEnabled ( cap & QgsVectorDataProvider::ChangeAttributeValues );
407
- mToggleEditingButton ->setChecked ( true );
408
411
}
409
412
else
410
413
{
411
- mAddAttributeButton ->setEnabled ( false );
412
- mDeleteAttributeButton ->setEnabled ( false );
413
- mToggleEditingButton ->setChecked ( false );
414
- mCalculateFieldButton ->setEnabled ( false );
414
+ mAddAttributeButton ->setDisabled ( true );
415
+ mDeleteAttributeButton ->setDisabled ( true );
416
+ mCalculateFieldButton ->setDisabled ( true );
415
417
}
416
418
}
417
419
@@ -863,7 +865,7 @@ QString QgsVectorLayerProperties::metadata()
863
865
864
866
QGis::GeometryType type = layer->geometryType ();
865
867
866
- if ( type < 0 || type > QGis::Polygon )
868
+ if ( type < 0 || type > QGis::NoGeometry )
867
869
{
868
870
QgsDebugMsg ( " Invalid vector type" );
869
871
}
0 commit comments