mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 22:00:28 +01:00
[shared] ScrollableExactApproximateExpressionsView: change the selected
output only when one of the two layout is uninitialized. Otherwise, the parent cell decides of which of right or left output should be selected.
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -30,6 +30,7 @@ void ScrollableExactApproximateExpressionsCell::reloadScroll() {
|
||||
}
|
||||
|
||||
void ScrollableExactApproximateExpressionsCell::didBecomeFirstResponder() {
|
||||
m_view.setSelectedSubviewPosition(ScrollableExactApproximateExpressionsView::SubviewPosition::Left);
|
||||
app()->setFirstResponder(&m_view);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user