[apps/code] Fix Python loading when going in the VarBoxController

The Var box controller deinited python on exit, and the console
controller did not reload python + it made the console controller lose
all its context, such as imported scripts
This commit is contained in:
Léa Saviot
2018-09-21 11:53:53 +02:00
parent 47e78a79fa
commit 2661032993
7 changed files with 25 additions and 25 deletions

View File

@@ -44,14 +44,14 @@ ConsoleController::ConsoleController(Responder * parentResponder, App * pythonDe
}
}
bool ConsoleController::loadPythonEnvironment(bool autoImportScripts) {
bool ConsoleController::loadPythonEnvironment() {
if(pythonEnvironmentIsLoaded()) {
return true;
}
emptyOutputAccumulationBuffer();
m_pythonDelegate->initPythonWithUser(this);
MicroPython::registerScriptProvider(m_scriptStore);
m_importScriptsWhenViewAppears = autoImportScripts;
m_importScriptsWhenViewAppears = m_autoImportScripts;
return true;
}
@@ -104,6 +104,7 @@ const char * ConsoleController::inputText(const char * prompt) {
}
void ConsoleController::viewWillAppear() {
loadPythonEnvironment();
assert(pythonEnvironmentIsLoaded());
m_sandboxIsDisplayed = false;
if (m_importScriptsWhenViewAppears) {
@@ -116,6 +117,10 @@ void ConsoleController::viewWillAppear() {
m_editCell.setText("");
}
void ConsoleController::didEnterResponderChain(Responder * previousFirstResponder) {
loadPythonEnvironment();
}
void ConsoleController::didBecomeFirstResponder() {
app()->setFirstResponder(&m_editCell);
}