Fix crash with Esc on editable list

issue2123
This commit is contained in:
Cédric Krier committed 2011-08-05 17:52:55 +02:00
1 parent d2a4d1e89f
commit 25a3c46af2
2 files changed
+10 -15

No files matched your search

+6 -5
View File
@@ -560,20 +560,21 @@ class Screen(SignalEvent):
res = True
if self.current_view.view_type == 'tree':
records = self.current_view.selected_records()
if delete and records:
saved_records = [r for r in records if r.id >= 0]
if delete and saved_records:
context = {}
context.update(rpc.CONTEXT)
context.update(self.context)
context['_timestamp'] = {}
for record in records:
for record in saved_records:
context['_timestamp'].update(record.get_timestamp())
reload_ids = self.group.on_write_ids([x.id for x in records])
reload_ids = self.group.on_write_ids([x.id for x in saved_records])
if reload_ids:
for record in records:
for record in saved_records:
if record.id in reload_ids:
reload_ids.remove(record.id)
args = ('model', self.model_name, 'delete',
[x.id for x in records], context)
[x.id for x in saved_records], context)
try:
res = rpc.execute(*args)
except TrytonServerError, exception:
@@ -209,16 +209,10 @@ class EditableTreeView(gtk.TreeView):
self.on_editing_done)
elif event.keyval == gtk.keysyms.Escape:
if record.id < 0:
model.remove(model.get_iter(path))
self.screen.current_record = False
if not path[0]:
self.screen.current_record = False
if path[0] == len(self.screen.group) \
and path[0]:
path = (path[0] - 1,)
self.screen.display()
if len(self.screen.group):
self.set_cursor(path, column, False)
self.screen.remove(delete=False, remove=True,
force_remove=True)
else:
return False
elif event.keyval in (gtk.keysyms.F3, gtk.keysyms.F2):
if isinstance(entry, gtk.Entry):
value = entry.get_text()