mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/calculation] Remember input layout
When leaving the Calculation app, the layout currently being edited is now stored in a buffer, to be restored when the app resumes. Change-Id: I59c16e18f7193bdcbb36888b54cb2722897f85f5
This commit is contained in:
committed by
Émilie Feral
parent
8ab23f66b5
commit
e295516928
@@ -56,9 +56,16 @@ void EditExpressionController::insertTextBody(const char * text) {
|
||||
void EditExpressionController::didBecomeFirstResponder() {
|
||||
m_contentView.mainView()->scrollToBottom();
|
||||
m_contentView.expressionField()->setEditing(true, false);
|
||||
m_contentView.expressionField()->restoreLayout(m_cacheBuffer, *m_cacheBufferInformation);
|
||||
clearCacheBuffer();
|
||||
Container::activeApp()->setFirstResponder(m_contentView.expressionField());
|
||||
}
|
||||
|
||||
void EditExpressionController::willExitResponderChain(Responder * nextFirstResponder) {
|
||||
*m_cacheBufferInformation = m_contentView.expressionField()->dumpLayout(m_cacheBuffer, k_cacheBufferSize);
|
||||
::ViewController::willExitResponderChain(nextFirstResponder);
|
||||
}
|
||||
|
||||
void EditExpressionController::viewWillAppear() {
|
||||
m_historyController->viewWillAppear();
|
||||
}
|
||||
@@ -129,7 +136,7 @@ bool EditExpressionController::inputViewDidReceiveEvent(Ion::Events::Event event
|
||||
}
|
||||
if (event == Ion::Events::Up) {
|
||||
if (m_calculationStore->numberOfCalculations() > 0) {
|
||||
m_cacheBuffer[0] = 0;
|
||||
clearCacheBuffer();
|
||||
m_contentView.expressionField()->setEditing(false, false);
|
||||
Container::activeApp()->setFirstResponder(m_historyController);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user