[KRichTextEdit] Fix scroll jumping around when horizontal rule is added

Authored by poboiko on Apr 18 2020, 9:55 PM.

Description

[KRichTextEdit] Fix scroll jumping around when horizontal rule is added

Summary:
Due to Qt bug 83605, it's not a good idea to setTextCursor while the cursor
is inside beginEditBlock / endEditBlock (scrollbar might jump to the top),
see KDE bug 195828. It's sufficient to move setTextCursor outside to fix it.
(it's never too late... :)

This patch also adds a test for this case (which currently fails due to
regression, see D28819: [KRichTextEdit] Always treat key press as single modification in undo stack and D28964: [KRichTextWidget] Remove ancient workaround and fix regression (commit 1d1eb6f) for the fix).

BUG: 195828

Test Plan:

  1. Apply D28964: [KRichTextWidget] Remove ancient workaround and fix regression (commit 1d1eb6f)
  2. ctest

Reviewers: Frameworks, dfaure

Reviewed By: dfaure

Subscribers: kde-frameworks-devel

Tags: Frameworks

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