From 0dc015b6ed3d1dd0cb112ec77dcd8a4ef3a17696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 22 Jan 2022 21:16:11 +0100 Subject: [PATCH] Use position from get_position The position received by insert-text callback is always 0. issue11163 review384171002 --- tryton/common/cellrendererfloat.py | 5 ++--- tryton/common/cellrendererinteger.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py index 4cea18838c..3b0a0b1bfd 100644 --- a/tryton/common/cellrendererfloat.py +++ b/tryton/common/cellrendererfloat.py @@ -34,14 +34,13 @@ class CellRendererFloat(CellRendererInteger): try: start_pos, end_pos = widget.get_selection_bounds() except ValueError: - start_pos = widget.props.cursor_position + start_pos = widget.get_position() end_pos = None if self._can_insert_text(widget, text, start_pos, end_pos): buffer_ = widget.get_buffer() buffer_.delete_text(start_pos, end_pos - start_pos) buffer_.insert_text(start_pos, text, len(text)) - widget.set_position( - widget.props.cursor_position + len(text)) + widget.set_position(widget.get_position() + len(text)) return True def _can_insert_text(self, entry, new_text, start_pos, end_pos=None): diff --git a/tryton/common/cellrendererinteger.py b/tryton/common/cellrendererinteger.py index 1dc45d85e9..c60d0316c3 100644 --- a/tryton/common/cellrendererinteger.py +++ b/tryton/common/cellrendererinteger.py @@ -16,7 +16,6 @@ class CellRendererInteger(CellRendererText): def _can_insert_text(self, entry, new_text, position): value = entry.get_text() - position = entry.get_position() new_value = value[:position] + new_text + value[position:] if new_value != '-': try: @@ -26,6 +25,7 @@ class CellRendererInteger(CellRendererText): return True def sig_insert_text(self, entry, new_text, new_text_length, position): + position = entry.get_position() if not self._can_insert_text(entry, new_text, position): entry.stop_emission_by_name('insert-text')