Use position from get_position
The position received by insert-text callback is always 0. issue11163 review384171002
This commit is contained in:
1 parent
84c56da241
commit
0dc015b6ed
2 files changed
+3
-4
No files matched your search
@@ -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):
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
Reference in new issue
Block a user