changeset 393af4e06975 in tryton:5.0 details: https://hg.tryton.org/tryton?cmd=changeset;node=393af4e06975 description: Synchronize cell and editable content in treeview
issue9227 review289791002 (grafted from 578a086e4b3da781bc73dce2ab0c382995904549) diffstat: tryton/gui/window/view_form/view/list.py | 1 + tryton/gui/window/view_form/view/list_gtk/widget.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) diffs (41 lines): diff -r 638f85199ab9 -r 393af4e06975 tryton/gui/window/view_form/view/list.py --- a/tryton/gui/window/view_form/view/list.py Fri May 15 21:44:37 2020 +0200 +++ b/tryton/gui/window/view_form/view/list.py Fri Jun 19 11:38:10 2020 +0200 @@ -1049,6 +1049,7 @@ if not name: continue widget = self.get_column_widget(column) + widget.set_editable(current_record) if decoder.decode(widget.attrs.get('tree_invisible', '0')): column.set_visible(False) elif name == self.screen.exclude_field: diff -r 638f85199ab9 -r 393af4e06975 tryton/gui/window/view_form/view/list_gtk/widget.py --- a/tryton/gui/window/view_form/view/list_gtk/widget.py Fri May 15 21:44:37 2020 +0200 +++ b/tryton/gui/window/view_form/view/list_gtk/widget.py Fri Jun 19 11:38:10 2020 +0200 @@ -262,6 +262,11 @@ if callback: callback() + def set_editable(self, record): + if not record or not self.editable: + return + self.editable.set_text(self.get_textual_value(record)) + def editing_started(self, cell, editable, path): def remove(editable): self.editable = None @@ -833,6 +838,14 @@ if callback: callback() + def set_editable(self, record): + if not record or not self.editable: + return + field = record[self.attrs['name']] + value = self.get_value(record, field) + self.update_selection(record, field) + self.set_popdown_value(self.editable, value) + def editing_started(self, cell, editable, path): super(Selection, self).editing_started(cell, editable, path) store = self.view.treeview.get_model()