Use PopdownMixin methods to set value on Reference widget
issue4898 review23341002
This commit is contained in:
1 parent
03800b5116
commit
7ec8672961
1 file changed
+7
-11
@@ -126,17 +126,13 @@ class Reference(Many2One, SelectionMixin, PopdownMixin):
|
||||
else:
|
||||
model, value = None, None
|
||||
super(Reference, self).set_text(value)
|
||||
|
||||
active = -1
|
||||
combo_model = self.widget_combo.get_model()
|
||||
for i, selection in enumerate(combo_model):
|
||||
if selection[1] == model:
|
||||
active = i
|
||||
break
|
||||
self.widget_combo.set_active(active)
|
||||
if active == -1:
|
||||
# When setting no item GTK doesn't clear the entry
|
||||
self.widget_combo.child.set_text('')
|
||||
self.widget_combo.handler_block_by_func(self.sig_changed_combo)
|
||||
if not self.set_popdown_value(self.widget_combo, model):
|
||||
text = self.get_inactive_selection(model)
|
||||
self.set_popdown(
|
||||
self.selection[:] + [(model, text)], self.widget_combo)
|
||||
self.set_popdown_value(self.widget_combo, value)
|
||||
self.widget_combo.handler_unblock_by_func(self.sig_changed_combo)
|
||||
|
||||
def display(self, record, field):
|
||||
self.update_selection(record, field)
|
||||
|
||||
Reference in new issue
Block a user