@@ -132,7 +132,7 @@ def data(self, index, role=QtCore.Qt.DisplayRole):
132
132
133
133
fieldType = column_def ['type' ]
134
134
if fieldType == QtCore .QVariant .Type :
135
- if value == 0 :
135
+ if value == QtCore . QVariant . Invalid :
136
136
return ''
137
137
return self .fieldTypes [value ]
138
138
return value
@@ -243,7 +243,7 @@ def createEditor(self, parent, option, index):
243
243
elif fieldType == QgsExpression :
244
244
editor = QgsFieldExpressionWidget (parent )
245
245
editor .setLayer (index .model ().layer ())
246
- # editor.fieldChanged.connect(self.on_expression_fieldChange)
246
+ editor .fieldChanged .connect (self .on_expression_fieldChange )
247
247
248
248
else :
249
249
editor = QtGui .QStyledItemDelegate .createEditor (self , parent , option , index )
@@ -277,6 +277,8 @@ def setModelData(self, editor, model, index):
277
277
fieldType = FieldsMappingModel .columns [column ]['type' ]
278
278
if fieldType == QtCore .QVariant .Type :
279
279
value = editor .itemData (editor .currentIndex ())
280
+ if value is None :
281
+ value = QtCore .QVariant .Invalid
280
282
model .setData (index , value )
281
283
282
284
elif fieldType == QgsExpression :
@@ -289,9 +291,8 @@ def setModelData(self, editor, model, index):
289
291
def updateEditorGeometry (self , editor , option , index ):
290
292
editor .setGeometry (option .rect )
291
293
292
- def on_expression_fieldChange (self , fieldName , isValid ):
293
- # self.commitData.emit(self.sender())
294
- pass
294
+ def on_expression_fieldChange (self , fieldName ):
295
+ self .commitData .emit (self .sender ())
295
296
296
297
297
298
class FieldsMappingPanel (QtGui .QWidget , Ui_Form ):
0 commit comments