This patch is the client side of the previous one.
Please review this at http://codereview.appspot.com/4080059/
Affected files:
M tryton/gui/window/view_form/view/form_gtk/binary.py
M tryton/gui/window/view_form/view/form_gtk/parser.py
Index: tryton/gui/window/view_form/view/form_gtk/binary.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -17,6 +17,8 @@
super(Binary, self).__init__(field_name, model_name, window,
attrs=attrs)
+ self.file_name = attrs.get('file_name')
+
self.tooltips = Tooltips()
self.widget = gtk.HBox(spacing=0)
@@ -74,9 +76,9 @@
if filename and self.field:
self.field.set_client(self.record,
base64.encodestring(open(filename, 'rb').read()))
- fname = self.attrs.get('fname_widget', False)
- if fname:
- self.parent.value = {fname:os.path.basename(filename)}
+ if self.file_name:
+ name_wid = self.record.group.fields[self.file_name]
+ name_wid.set_client(self.record,
os.path.basename(filename))
self.display(self.record, self.field)
except Exception, exception:
warning(_('Error reading the file.\nError message:\n%s') \
@@ -98,9 +100,9 @@
def sig_remove(self, widget=None):
if self.field:
self.field.set_client(self.record, False)
- fname = self.attrs.get('fname_widget', False)
- if fname:
- self.parent.value = {fname:False}
+ if self.file_name:
+ name_wid = self.record.group.fields[self.file_name]
+ name_wid.set_client(self.record, False)
self.display(self.record, self.field)
def display(self, record, field):
Index: tryton/gui/window/view_form/view/form_gtk/parser.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/form_gtk/parser.py
@@ -518,7 +518,7 @@
continue
for attr_name in ('relation', 'domain', 'selection',
'relation_field', 'string', 'views', 'invisible',
- 'add_remove', 'sort', 'context', 'size'):
+ 'add_remove', 'sort', 'context', 'size', 'file_name'):
if attr_name in fields[name].attrs and \
not attr_name in attrs:
attrs[attr_name] = fields[name].attrs[attr_name]
--
[email protected] mailing list