poboiko created this revision. poboiko added reviewers: Frameworks, dfaure, mlaurent. Herald added a project: Frameworks. poboiko requested review of this revision.
REVISION SUMMARY The patch includes following improvements: 1. `handleAfterKeyPressEvent` was only used to adjust margins. We don't do it anymore, so get rid of it. 2. Add support for Tab key to increase indentation level (either at the beginning of a list item or with multiple lines selected) 3. Fix `canIndent / canDedent` logic when cursor has a selection. `canIndent` should work with `topOfSelection`, and `canDedent` --- with `bottomOfSelection`. 4. Enclose `handleOnIndentMore / Less` in `beginEditBlock / endEditBlock`, so they appear as a single event in Undo stack. 5. A Return on an empty list element decreases the indentation (so double-Return terminates the list) TEST PLAN 1. Tab / Return keys now work as explained 2. IndentMore / Less are undoable with single `Ctrl+Z` (this leads to cursor jumping around, which is probably beyond the scope of this patch) 3. Increase / Decrease Indent actions now become enabled when they should if the selection is present (the behavior of `handleOnIndentMore / Less` when selection is present is slightly broken, which is also beyond the scope) REPOSITORY R310 KTextWidgets BRANCH unused (branched from master) REVISION DETAIL https://phabricator.kde.org/D29208 AFFECTED FILES src/widgets/krichtextedit.cpp src/widgets/nestedlisthelper.cpp src/widgets/nestedlisthelper_p.h To: poboiko, #frameworks, dfaure, mlaurent Cc: kde-frameworks-devel, LeGast00n, cblack, michaelh, ngraham, bruns