@@ -398,20 +398,22 @@ void QgsVectorLayerProperties::editingToggled()
398398
399399void QgsVectorLayerProperties::updateButtons ()
400400{
401+ int cap = layer->dataProvider ()->capabilities ();
402+
403+ mToggleEditingButton ->setEnabled (( cap & QgsVectorDataProvider::EditingCapabilities ) && !layer->isReadOnly () );
404+ mToggleEditingButton ->setChecked ( layer->isEditable () );
405+
401406 if ( layer->isEditable () )
402407 {
403- int cap = layer->dataProvider ()->capabilities ();
404408 mAddAttributeButton ->setEnabled ( cap & QgsVectorDataProvider::AddAttributes );
405409 mDeleteAttributeButton ->setEnabled ( cap & QgsVectorDataProvider::DeleteAttributes );
406410 mCalculateFieldButton ->setEnabled ( cap & QgsVectorDataProvider::ChangeAttributeValues );
407- mToggleEditingButton ->setChecked ( true );
408411 }
409412 else
410413 {
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 );
415417 }
416418}
417419
@@ -863,7 +865,7 @@ QString QgsVectorLayerProperties::metadata()
863865
864866 QGis::GeometryType type = layer->geometryType ();
865867
866- if ( type < 0 || type > QGis::Polygon )
868+ if ( type < 0 || type > QGis::NoGeometry )
867869 {
868870 QgsDebugMsg ( " Invalid vector type" );
869871 }
0 commit comments