changeset c5b72f374a82 in tryton:6.0
details: https://hg.tryton.org/tryton?cmd=changeset&node=c5b72f374a82
description:
        Use position from get_position

        The position received by insert-text callback is always 0.

        issue11163
        review384171002
        (grafted from d2e7bfbe73385dd9ed774dea433a5ced053a397d)
diffstat:

 tryton/common/cellrendererfloat.py   |  5 ++---
 tryton/common/cellrendererinteger.py |  2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diffs (39 lines):

diff -r 320042a07dba -r c5b72f374a82 tryton/common/cellrendererfloat.py
--- a/tryton/common/cellrendererfloat.py        Tue Jan 11 23:05:35 2022 +0100
+++ b/tryton/common/cellrendererfloat.py        Sat Jan 22 21:16:11 2022 +0100
@@ -32,14 +32,13 @@
                 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 -r 320042a07dba -r c5b72f374a82 tryton/common/cellrendererinteger.py
--- a/tryton/common/cellrendererinteger.py      Tue Jan 11 23:05:35 2022 +0100
+++ b/tryton/common/cellrendererinteger.py      Sat Jan 22 21:16:11 2022 +0100
@@ -16,7 +16,6 @@
 
     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 @@
         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')
 

Reply via email to