diff --git a/escher/src/scrollable_expression_view_with_cursor.cpp b/escher/src/scrollable_expression_view_with_cursor.cpp index 81bfc71f3..64cfca73a 100644 --- a/escher/src/scrollable_expression_view_with_cursor.cpp +++ b/escher/src/scrollable_expression_view_with_cursor.cpp @@ -208,16 +208,13 @@ void ScrollableExpressionViewWithCursor::insertLayoutAtCursor(Poincare::Expressi static_cast(layout)->addGreySquares(); } bool layoutWillBeMerged = layout->isHorizontal(); - if (!layoutWillBeMerged) { - m_expressionViewWithCursor.cursor()->addLayout(layout); - if (pointedLayout != nullptr) { - m_expressionViewWithCursor.cursor()->setPointedExpressionLayout(pointedLayout); - } else { - m_expressionViewWithCursor.cursor()->setPointedExpressionLayout(layout->layoutToPointWhenInserting()); - } + m_expressionViewWithCursor.cursor()->addLayoutAndMoveCursor(layout); + if (pointedLayout != nullptr) { + m_expressionViewWithCursor.cursor()->setPointedExpressionLayout(pointedLayout); + m_expressionViewWithCursor.cursor()->setPosition(Poincare::ExpressionLayoutCursor::Position::Right); + } else if (!layoutWillBeMerged) { + m_expressionViewWithCursor.cursor()->setPointedExpressionLayout(layout->layoutToPointWhenInserting()); m_expressionViewWithCursor.cursor()->setPosition(Poincare::ExpressionLayoutCursor::Position::Right); - } else { - m_expressionViewWithCursor.cursor()->addLayoutAndMoveCursor(layout); } m_expressionViewWithCursor.cursor()->hideEmptyLayoutIfNeeded(); reload(); diff --git a/poincare/include/poincare/expression_layout_cursor.h b/poincare/include/poincare/expression_layout_cursor.h index 290368888..ee4ec84c6 100644 --- a/poincare/include/poincare/expression_layout_cursor.h +++ b/poincare/include/poincare/expression_layout_cursor.h @@ -39,7 +39,6 @@ public: bool moveDown(bool * shouldRecomputeLayout); /* Edition */ - void addLayout(ExpressionLayout * layout); void addLayoutAndMoveCursor(ExpressionLayout * layout); void addEmptyExponentialLayout(); void addFractionLayoutAndCollapseBrothers(); diff --git a/poincare/src/expression_layout_cursor.cpp b/poincare/src/expression_layout_cursor.cpp index 12d8fc056..2fefcf2f9 100644 --- a/poincare/src/expression_layout_cursor.cpp +++ b/poincare/src/expression_layout_cursor.cpp @@ -41,10 +41,6 @@ bool ExpressionLayoutCursor::moveDown(bool * shouldRecomputeLayout) { return m_pointedExpressionLayout->moveDown(this, shouldRecomputeLayout); } -void ExpressionLayoutCursor::addLayout(ExpressionLayout * layout) { - pointedExpressionLayout()->addBrother(this, layout); -} - void ExpressionLayoutCursor::addLayoutAndMoveCursor(ExpressionLayout * layout) { bool layoutWillBeMerged = layout->isHorizontal(); pointedExpressionLayout()->addBrotherAndMoveCursor(this, layout);