Use position from get_position

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

issue11163
review384171002
This commit is contained in:
Cédric Krier committed 2022-01-22 21:16:11 +01:00
1 parent 84c56da241
commit 0dc015b6ed
2 files changed
+3 -4

No files matched your search

+2 -3
View File
@@ -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):
+1 -1
View File
@@ -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')