diff -r 46f975203f4f -r 69e41c88e195 web/formfields.py --- a/web/formfields.py Tue May 19 10:05:19 2009 +0200 +++ b/web/formfields.py Tue May 19 10:05:56 2009 +0200 @@ -213,20 +213,21 @@ try: return req.data[self] except KeyError: + fkwargs = {} if self.use_fckeditor(form): # if fckeditor is used and format field isn't explicitly # deactivated, we want an hidden field for the format - widget = HiddenInput() - choices = None + fkwargs['widget'] = HiddenInput() + fkwargs['initial'] = 'text/html' else: # else we want a format selector - # XXX compute vocabulary - widget = Select() + fkwargs['widget'] = Select() + fkwargs['widget'].attrs['size'] = 1 fcstr = FormatConstraint() - choices = [(req._(fmt), fmt) for fmt in fcstr.vocabulary(req=req)] - widget.attrs['size'] = 1 - field = StringField(name=self.name + '_format', widget=widget, - choices=choices) + fkwargs['choices'] = fcstr.vocabulary(req=req) + fkwargs['internationalizable'] = True + fkwargs['initial'] = lambda f: f.form_field_format(self) + field = StringField(name=self.name + '_format', **fkwargs) req.data[self] = field return field