diff --git a/apps/calculation/history_view_cell.cpp b/apps/calculation/history_view_cell.cpp index 11a9bcb25..97108cd5c 100644 --- a/apps/calculation/history_view_cell.cpp +++ b/apps/calculation/history_view_cell.cpp @@ -133,6 +133,14 @@ void HistoryViewCell::setCalculation(Calculation * calculation, bool isSelected) m_scrollableOutputView.setLayouts(rightOutputLayout, leftOutputLayout); I18n::Message equalMessage = calculation->exactAndApproximateDisplayedOutputsAreEqual(calculationApp->localContext()) == Calculation::EqualSign::Equal ? I18n::Message::Equal : I18n::Message::AlmostEqual; m_scrollableOutputView.setEqualMessage(equalMessage); + + // Select the right output according to the calculation display output + if (display == Calculation::DisplayOutput::ApproximateOnly || (display == Calculation::DisplayOutput::ExactAndApproximateToggle && isSelected)) { + m_scrollableOutputView.setSelectedSubviewPosition(Shared::ScrollableExactApproximateExpressionsView::SubviewPosition::Right); + } else { + assert(display == Calculation::DisplayOutput::ExactOnly || display == Calculation::DisplayOutput::ExactAndApproximate || (display == Calculation::DisplayOutput::ExactAndApproximateToggle && !isSelected)); + m_scrollableOutputView.setSelectedSubviewPosition(Shared::ScrollableExactApproximateExpressionsView::SubviewPosition::Left); + } } void HistoryViewCell::didBecomeFirstResponder() { diff --git a/apps/shared/scrollable_exact_approximate_expressions_cell.cpp b/apps/shared/scrollable_exact_approximate_expressions_cell.cpp index e9c456b75..3894849dd 100644 --- a/apps/shared/scrollable_exact_approximate_expressions_cell.cpp +++ b/apps/shared/scrollable_exact_approximate_expressions_cell.cpp @@ -30,6 +30,7 @@ void ScrollableExactApproximateExpressionsCell::reloadScroll() { } void ScrollableExactApproximateExpressionsCell::didBecomeFirstResponder() { + m_view.setSelectedSubviewPosition(ScrollableExactApproximateExpressionsView::SubviewPosition::Left); app()->setFirstResponder(&m_view); } diff --git a/apps/shared/scrollable_exact_approximate_expressions_view.cpp b/apps/shared/scrollable_exact_approximate_expressions_view.cpp index 0e003e857..d7a8fd0e3 100644 --- a/apps/shared/scrollable_exact_approximate_expressions_view.cpp +++ b/apps/shared/scrollable_exact_approximate_expressions_view.cpp @@ -126,7 +126,8 @@ void ScrollableExactApproximateExpressionsView::setEqualMessage(I18n::Message eq void ScrollableExactApproximateExpressionsView::didBecomeFirstResponder() { if (m_contentCell.leftExpressionView()->layout().isUninitialized()) { setSelectedSubviewPosition(SubviewPosition::Right); - } else { + } + if (m_contentCell.rightExpressionView()->layout().isUninitialized()) { setSelectedSubviewPosition(SubviewPosition::Left); } }