565 self.__replBuffer = data[index:] |
565 self.__replBuffer = data[index:] |
566 return |
566 return |
567 else: |
567 else: |
568 tc.deleteChar() |
568 tc.deleteChar() |
569 self.setTextCursor(tc) |
569 self.setTextCursor(tc) |
570 self.insertPlainText(chr(data[index])) |
570 # unicode handling |
|
571 if data[index] & 0b11110000 == 0b11110000: |
|
572 length = 4 |
|
573 elif data[index] & 0b11100000 == 0b11100000: |
|
574 length = 3 |
|
575 elif data[index] & 0b11000000 == 0b11000000: |
|
576 length = 2 |
|
577 else: |
|
578 length = 1 |
|
579 txt = data[index:index + length].decode("utf8") |
|
580 index += length - 1 # one more is done at the end |
|
581 self.insertPlainText(txt) |
571 |
582 |
572 index += 1 |
583 index += 1 |
573 |
584 |
574 self.ensureCursorVisible() |
585 self.ensureCursorVisible() |
575 self.__replBuffer = b"" |
586 self.__replBuffer = b"" |