Fix virtual keyboard text not in sync with cursor position on LineEdit #38104
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note : I'm making this PR against 3.2 branch. I can change to master if required.
Fixes #27065
PR description
So the problem was that we were sending the whole LineEdit text to the virtual keyboard even if the cursor is at the middle of the LineEdit text.
This makes modification behave erratically when the cursor is not at the end of LineEdit.
For example, if we have
ABC|DE
The text we send to virtual keyboard : ABCDE
If we type 'u' in this case, virtual keyboard will add 'u' to the end of the text (based on Android and Iphone implementation), which results in ABCDEu
After that, ABCDEu will be sent back to the LineEdit at the cursor position, which results in ABCDEuDE.
I have changed it so that we send only the text until the cursor position to the virtual keyboard (which is the behaviour of my vk that I observe when I type with my phone.)