Mimic QInputControl::isAcceptableInput() when filtering typed characters

Authored by ahmadsamir on Aug 27 2019, 5:03 PM.

Description

Mimic QInputControl::isAcceptableInput() when filtering typed characters

Summary:
Move all input characters filtering out of typeChars() to KateViewInternal
and filter the input before sending it to typeChars().

This increases the scope of unicode characters that users can type in ktexteditor.
For more info see:
QChar documentation
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

This should fix:

  • bug 396764 (typing soft-hyphens)
  • bug 366424 (typing "private use" unicode characters)
  • Hopefully bug 389796 (typing formatting characters such as ZWNJ)

BUG: 396764
BUG: 366424
BUG: 389796

Test Plan:
Test typing a soft-hyphen char (here I used Compose key + minus + minus + space)
For the two other bugs, ask the users to test...

All unit tests passed

Reviewers: KTextEditor, dhaumann, cullmann

Reviewed By: KTextEditor, cullmann

Subscribers: kde-frameworks-devel, kwrite-devel

Tags: Kate, Frameworks

Differential Revision: https://phabricator.kde.org/D23472