def saveItem( self ): if not self.checkIsValid(): return False params = ReaderType.encodeParams( self._params.list()) if self._editItem: id = Database.executeScalar('elc_UpdateSourceType', self._editItem['id'], str(self.uName.text()), str(self.uFileExtension.text()), self.uCoordSys.selectedValue(), str(self.uReaderClass.currentText()), params) else: id = Database.executeScalar('elc_CreateSourceType', str(self.uName.text()), str(self.uFileExtension.text()), self.uCoordSys.selectedValue(), str(self.uReaderClass.currentText()), params) self.clearItem() ReaderType.reload() self._controller.updateSourceTypes() self.uListView.selectId( id ) return True