From 5f6c681b76b7137107be20b52fb3200883a4faa9 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Sat, 15 Jul 2017 17:23:22 +0200 Subject: [PATCH] Handle properly top/bottom of inset with mac-like cursor movement The correct behavior is to go to position 0 going up from first row, and to end of row when going down on last row. The targetx value of the cursor is not updated, which makes cursor movement more natural. Fixes bug #10701. (cherry picked from commit 34285cc6830b061c18998bff8385092a311170a8) --- src/Text3.cpp | 12 +++++++++ status.23x | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 status.23x diff --git a/src/Text3.cpp b/src/Text3.cpp index 36739a8e1e..adeb80b88f 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -860,6 +860,18 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) cur.upDownInText(up, needsUpdate); needsUpdate |= cur.beforeDispatchCursor().inMathed(); } else { + pos_type newpos = up ? 0 : cur.lastpos(); + if (lyxrc.mac_like_cursor_movement && cur.pos() != newpos) { + needsUpdate |= cur.selHandle(select); + // we do not reset the targetx of the cursor + cur.pos() = newpos; + needsUpdate |= bv->checkDepm(cur, bv->cursor()); + cur.updateTextTargetOffset(); + if (needsUpdate) + cur.forceBufferUpdate(); + break; + } + // if the cursor cannot be moved up or down do not remove // the selection right now, but wait for the next dispatch. if (select) diff --git a/status.23x b/status.23x new file mode 100644 index 0000000000..30eff6cbc0 --- /dev/null +++ b/status.23x @@ -0,0 +1,68 @@ +-*- text -*- + +This file describes what has been done in the preparation of LyX 2.3.2. +All comments are welcome. + +We try to group things by topic and in decreasing order of importance. +Please feel free to re-arrange if that seems like a good idea. + + +What's new +========== + +** Updates: +*********** + +* DOCUMENT INPUT/OUTPUT + + + +* TEX2LYX IMPROVEMENTS + + + +* USER INTERFACE + +- Handle properly top/bottom of inset with mac-like cursor movement + (bug 10701). + +* DOCUMENTATION AND LOCALIZATION + + + +* BUILD/INSTALLATION + + +** Bug fixes: +************* + +* DOCUMENT INPUT/OUTPUT + + +* LYX2LYX + + +* USER INTERFACE + + + +* INTERNALS + + + +* DOCUMENTATION AND LOCALIZATION + + +* LYXHTML + + + +* TEX2LYX + + + +* ADVANCED FIND AND REPLACE + + +* BUILD/INSTALLATION + -- 2.39.5