[LyX/master] Change backspace behavior in align type equations
Enrico Forestieri
forenr at lyx.org
Sun Jan 31 00:02:39 UTC 2021
commit c79ec4114e419ae8f4711c4c07ab0df19dafaaa3
Author: Enrico Forestieri <forenr at lyx.org>
Date: Sun Jan 31 00:51:15 2021 +0100
Change backspace behavior in align type equations
When hitting backspace in the first position of a cell in mathed,
if the cell is part of an array, the whole array is dissolved
and the sole cell content pasted in the containing environment.
But if the cell is part of an eqnarray or align math hull type, the
cursor is simply (and unexpectedly) taken out of the whole equation,
which is left unchanged.
This patch makes backspace equivalent to the cursor left key in those
cases, while leaving the behavior unchanged in all other ones.
Fixes #11678
---
src/Cursor.cpp | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/Cursor.cpp b/src/Cursor.cpp
index 074047f..fae9d85 100644
--- a/src/Cursor.cpp
+++ b/src/Cursor.cpp
@@ -1594,9 +1594,20 @@ bool Cursor::backspace(bool const force)
// [|], can not delete from inside
return false;
} else {
- if (inMathed())
- pullArg();
- else
+ if (inMathed()) {
+ switch (inset().asInsetMath()->getType()) {
+ case hullEqnArray:
+ case hullAlign:
+ case hullFlAlign: {
+ FuncRequest cmd(LFUN_CHAR_BACKWARD);
+ this->dispatch(cmd);
+ break;
+ }
+ default:
+ pullArg();
+ break;
+ }
+ } else
popBackward();
return true;
}
More information about the lyx-cvs
mailing list