@@ -89,18 +89,21 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWid
89
89
mZoomMapToSelectedRowsButton ->setIcon ( getThemeIcon ( " /mActionZoomToSelected.png" ) );
90
90
mInvertSelectionButton ->setIcon ( getThemeIcon ( " /mActionInvertSelection.png" ) );
91
91
mToggleEditingButton ->setIcon ( getThemeIcon ( " /mActionToggleEditing.png" ) );
92
+ mDeleteSelectedButton ->setIcon ( getThemeIcon ( " /mActionDeleteSelected.png" ) );
92
93
mOpenFieldCalculator ->setIcon ( getThemeIcon ( " /mActionCalculateField.png" ) );
93
94
mAddAttribute ->setIcon ( getThemeIcon ( " /mActionNewAttribute.png" ) );
94
95
mRemoveAttribute ->setIcon ( getThemeIcon ( " /mActionDeleteAttribute.png" ) );
95
96
96
97
// toggle editing
97
98
bool canChangeAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::ChangeAttributeValues;
99
+ bool canDeleteFeatures = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteFeatures;
98
100
bool canAddAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::AddAttributes;
99
101
bool canDeleteAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteAttributes;
100
102
mToggleEditingButton ->setCheckable ( true );
101
103
mToggleEditingButton ->setChecked ( mLayer ->isEditable () );
102
104
mToggleEditingButton ->setEnabled ( canChangeAttributes );
103
105
mOpenFieldCalculator ->setEnabled ( canChangeAttributes && mLayer ->isEditable () );
106
+ mDeleteSelectedButton ->setEnabled ( canDeleteFeatures && mLayer ->isEditable () );
104
107
mAddAttribute ->setEnabled ( canAddAttributes && mLayer ->isEditable () );
105
108
mRemoveAttribute ->setEnabled ( canDeleteAttributes && mLayer ->isEditable () );
106
109
@@ -230,6 +233,11 @@ void QgsAttributeTableDialog::on_mRemoveSelectionButton_clicked()
230
233
mLayer ->removeSelection ();
231
234
}
232
235
236
+ void QgsAttributeTableDialog::on_mDeleteSelectedButton_clicked ()
237
+ {
238
+ mLayer ->deleteSelectedFeatures ();
239
+ }
240
+
233
241
void QgsAttributeTableDialog::on_cbxShowSelectedOnly_toggled ( bool theFlag )
234
242
{
235
243
mFilterModel ->setHideUnselected ( theFlag );
@@ -615,9 +623,11 @@ void QgsAttributeTableDialog::editingToggled()
615
623
mToggleEditingButton ->blockSignals ( false );
616
624
617
625
bool canChangeAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::ChangeAttributeValues;
626
+ bool canDeleteFeatures = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteFeatures;
618
627
bool canAddAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::AddAttributes;
619
628
bool canDeleteAttributes = mLayer ->dataProvider ()->capabilities () & QgsVectorDataProvider::DeleteAttributes;
620
629
mOpenFieldCalculator ->setEnabled ( canChangeAttributes && mLayer ->isEditable () );
630
+ mDeleteSelectedButton ->setEnabled ( canDeleteFeatures && mLayer ->isEditable () );
621
631
mAddAttribute ->setEnabled ( canAddAttributes && mLayer ->isEditable () );
622
632
mRemoveAttribute ->setEnabled ( canDeleteAttributes && mLayer ->isEditable () );
623
633
0 commit comments