Skip to content

Commit 4301244

Browse files
pblottierenyalldawson
authored andcommitted
Display a disabled checkbox when update/delete/insert are not possible due to provider limitations
1 parent f5230b1 commit 4301244

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/app/qgsprojectproperties.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -919,29 +919,35 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas *mapCanvas, QWidget *pa
919919
psb->setValue( QgsProject::instance()->readNumEntry( QStringLiteral( "WFSLayersPrecision" ), "/" + currentLayer->id(), 8 ) );
920920
twWFSLayers->setCellWidget( j, 2, psb );
921921

922+
QCheckBox *cbu = new QCheckBox();
923+
cbu->setEnabled(false);
922924
if ( ( provider->capabilities() & QgsVectorDataProvider::ChangeAttributeValues ) )
923925
{
924926
if ( ! currentLayer->isSpatial() or ( provider->capabilities() & QgsVectorDataProvider::ChangeGeometries ) )
925927
{
926-
QCheckBox *cbu = new QCheckBox();
928+
cbu->setEnabled(true);
927929
cbu->setChecked( wfstUpdateLayerIdList.contains( currentLayer->id() ) );
928-
twWFSLayers->setCellWidget( j, 3, cbu );
929930
}
930931
}
932+
twWFSLayers->setCellWidget( j, 3, cbu );
931933

934+
QCheckBox *cbi = new QCheckBox();
935+
cbi->setEnabled(false);
932936
if ( ( provider->capabilities() & QgsVectorDataProvider::AddFeatures ) )
933937
{
934-
QCheckBox *cbi = new QCheckBox();
938+
cbi->setEnabled(true);
935939
cbi->setChecked( wfstInsertLayerIdList.contains( currentLayer->id() ) );
936-
twWFSLayers->setCellWidget( j, 4, cbi );
937940
}
941+
twWFSLayers->setCellWidget( j, 4, cbi );
938942

943+
QCheckBox *cbd = new QCheckBox();
944+
cbd->setEnabled(false);
939945
if ( ( provider->capabilities() & QgsVectorDataProvider::DeleteFeatures ) )
940946
{
941-
QCheckBox *cbd = new QCheckBox();
947+
cbd->setEnabled(true);
942948
cbd->setChecked( wfstDeleteLayerIdList.contains( currentLayer->id() ) );
943-
twWFSLayers->setCellWidget( j, 5, cbd );
944949
}
950+
twWFSLayers->setCellWidget( j, 5, cbd );
945951

946952
j++;
947953
}

0 commit comments

Comments
 (0)