diff --git a/tryton/common/cellrenderercombo.py b/tryton/common/cellrenderercombo.py index 2398ee66e0..1764387b61 100644 --- a/tryton/common/cellrenderercombo.py +++ b/tryton/common/cellrenderercombo.py @@ -8,11 +8,9 @@ from tryton.common.selection import selection_shortcuts class CellRendererCombo(gtk.CellRendererCombo): - def do_start_editing(self, event, widget, path, background_area, - cell_area, flags): - editable = gtk.CellRendererCombo.do_start_editing(self, event, widget, - path, background_area, cell_area, flags) - return selection_shortcuts(editable) + def on_editing_started(self, editable, path): + super().on_editing_started(editable, path) + selection_shortcuts(editable) gobject.type_register(CellRendererCombo) diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py index 551920789a..07e51ace03 100644 --- a/tryton/common/cellrendererfloat.py +++ b/tryton/common/cellrendererfloat.py @@ -12,12 +12,9 @@ class CellRendererFloat(CellRendererInteger): super(CellRendererFloat, self).__init__() self.digits = None - def do_start_editing(self, event, widget, path, background_area, - cell_area, flags): - editable = super(CellRendererFloat, self).do_start_editing(event, - widget, path, background_area, cell_area, flags) + def on_editing_started(self, editable, path): + super().on_editing_started(editable, path) editable.connect('key-press-event', self.key_press_event) - return editable def key_press_event(self, widget, event): for name in ('KP_Decimal', 'KP_Separator'): diff --git a/tryton/common/cellrendererinteger.py b/tryton/common/cellrendererinteger.py index fbc3445a05..6d77658ada 100644 --- a/tryton/common/cellrendererinteger.py +++ b/tryton/common/cellrendererinteger.py @@ -7,13 +7,10 @@ import locale class CellRendererInteger(CellRendererText): - def do_start_editing(self, event, widget, path, background_area, - cell_area, flags): - editable = super(CellRendererInteger, self).do_start_editing(event, - widget, path, background_area, cell_area, flags) + def on_editing_started(self, editable, path): + super().on_editing_started(editable, path) editable.set_alignment(1.0) editable.connect('insert_text', self.sig_insert_text) - return editable def sig_insert_text(self, entry, new_text, new_text_length, position): value = entry.get_text() @@ -26,4 +23,5 @@ class CellRendererInteger(CellRendererText): except ValueError: entry.stop_emission('insert-text') + gobject.type_register(CellRendererInteger) diff --git a/tryton/common/cellrenderertext.py b/tryton/common/cellrenderertext.py index 8955efec53..f8d0232464 100644 --- a/tryton/common/cellrenderertext.py +++ b/tryton/common/cellrenderertext.py @@ -6,10 +6,12 @@ import gobject class CellRendererText(gtk.CellRendererText): - def do_start_editing(self, event, widget, path, background_area, - cell_area, flags): - return gtk.CellRendererText.do_start_editing(self, event, widget, - path, background_area, cell_area, flags) + def __init__(self): + super(CellRendererText, self).__init__() + self.connect('editing-started', self.__class__.on_editing_started) + + def on_editing_started(self, editable, path): + pass class CellRendererTextCompletion(CellRendererText): @@ -18,13 +20,9 @@ class CellRendererTextCompletion(CellRendererText): super(CellRendererTextCompletion, self).__init__() self.set_completion = set_completion - def do_start_editing(self, event, widget, path, background_area, cell_area, - flags): - editable = super(CellRendererTextCompletion, - self).do_start_editing(event, widget, path, background_area, - cell_area, flags) + def on_editing_started(self, editable, path): + super().on_editing_started(editable, path) self.set_completion(editable, path) - return editable gobject.type_register(CellRendererText)