@@ -239,11 +239,17 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWid
239239 mActionSaveEdits ->setEnabled ( mActionToggleEditing ->isEnabled () && mLayer ->isEditable () );
240240 mActionReload ->setEnabled ( ! mLayer ->isEditable () );
241241 mActionAddAttribute ->setEnabled (( canChangeAttributes || canAddAttributes ) && mLayer ->isEditable () );
242+ mActionRemoveAttribute ->setEnabled ( canDeleteAttributes && mLayer ->isEditable () );
242243 mActionDeleteSelected ->setEnabled ( canDeleteFeatures && mLayer ->isEditable () );
244+ if ( !canDeleteFeatures )
245+ mToolbar ->removeAction ( mActionDeleteSelected );
243246 mActionAddFeature ->setEnabled ( canAddFeatures && mLayer ->isEditable () );
244247 if ( !canAddFeatures )
245248 mToolbar ->removeAction ( mActionAddFeature );
246249
250+ if ( canDeleteFeatures || canAddFeatures )
251+ mToolbar ->insertSeparator ( mActionExpressionSelect );
252+
247253 mMainViewButtonGroup ->setId ( mTableViewButton , QgsDualView::AttributeTable );
248254 mMainViewButtonGroup ->setId ( mAttributeViewButton , QgsDualView::AttributeEditor );
249255
@@ -748,8 +754,10 @@ void QgsAttributeTableDialog::editingToggled()
748754 bool canChangeAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::ChangeAttributeValues;
749755 bool canDeleteFeatures = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteFeatures;
750756 bool canAddAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::AddAttributes;
757+ bool canDeleteAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteAttributes;
751758 bool canAddFeatures = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::AddFeatures;
752759 mActionAddAttribute ->setEnabled (( canChangeAttributes || canAddAttributes ) && mLayer ->isEditable () );
760+ mActionRemoveAttribute ->setEnabled ( canDeleteAttributes && mLayer ->isEditable () );
753761 mActionDeleteSelected ->setEnabled ( canDeleteFeatures && mLayer ->isEditable () );
754762 mActionAddFeature ->setEnabled ( canAddFeatures && mLayer ->isEditable () );
755763
0 commit comments