Skip to content

Commit

Permalink
Restore full-width character processing code
Browse files Browse the repository at this point in the history
  • Loading branch information
minicom365 committed Jan 10, 2025
1 parent 10ef9fe commit b64e41c
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
12 changes: 12 additions & 0 deletions ui/textedit_area.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,19 @@ def handle_content_change(self):
input_method_used = True
self.input_method_from = -1
elif self.change_added > 0:
text = self.toPlainText()
len_text = len(text)
cursor = self.textCursor()

if self.change_added > len_text or change_from + self.change_added > len_text:
self.change_added = 1
change_from = self.textCursor().position() - 1
cursor.setPosition(change_from)
cursor.setPosition(change_from + self.change_added, QTextCursor.MoveMode.KeepAnchor)
added_text = cursor.selectedText()
if added_text == '…' or added_text == '—':
self.change_added = 2
change_from -= 1
cursor.setPosition(change_from)
cursor.setPosition(change_from + self.change_added, QTextCursor.MoveMode.KeepAnchor)
added_text = cursor.selectedText()
Expand Down
18 changes: 18 additions & 0 deletions ui/textitem.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,25 @@ def on_content_changed(self):
self.input_method_from = -1

elif self.change_added > 0:
len_text = len(self.toPlainText())
cursor = self.textCursor()

# if self.change_added > len_text:
# self.change_added = 1
# change_from = self.textCursor().position() - 1
# input_method_used = True
# cursor.setPosition(change_from)
# cursor.setPosition(change_from + self.change_added, QTextCursor.MoveMode.KeepAnchor)
if self.change_added > len_text or change_from + self.change_added > len_text:
self.change_added = 1
change_from = self.textCursor().position() - 1
cursor.setPosition(change_from)
cursor.setPosition(change_from + self.change_added, QTextCursor.MoveMode.KeepAnchor)
added_text = cursor.selectedText()
if added_text == '…' or added_text == '—':
self.change_added = 2
change_from -= 1

cursor.setPosition(change_from)
cursor.setPosition(change_from + self.change_added, QTextCursor.MoveMode.KeepAnchor)

Expand Down

0 comments on commit b64e41c

Please sign in to comment.