mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 16:57:31 +01:00
[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:
@@ -14,13 +14,11 @@ MenuController::MenuController(Responder * parentResponder, App * pythonDelegate
|
||||
m_scriptStore(scriptStore),
|
||||
m_addNewScriptCell(),
|
||||
m_consoleButton(this, I18n::Message::Console, Invocation([](void * context, void * sender) {
|
||||
MenuController * menu = (MenuController *)context;
|
||||
if (menu->consoleController()->loadPythonEnvironment()) {
|
||||
menu->stackViewController()->push(menu->consoleController());
|
||||
return;
|
||||
}
|
||||
//TODO: Pop up warning message: not enough space to load Python
|
||||
}, this), KDText::FontSize::Large),
|
||||
MenuController * menu = (MenuController *)context;
|
||||
menu->consoleController()->setAutoImport(true);
|
||||
menu->stackViewController()->push(menu->consoleController());
|
||||
return;
|
||||
}, this), KDText::FontSize::Large),
|
||||
m_selectableTableView(this, this, this, this),
|
||||
m_scriptParameterController(nullptr, I18n::Message::ScriptOptions, this),
|
||||
m_editorController(this, pythonDelegate),
|
||||
@@ -146,16 +144,11 @@ void MenuController::reloadConsole() {
|
||||
m_reloadConsoleWhenBecomingFirstResponder = false;
|
||||
}
|
||||
|
||||
void MenuController::loadPythonIfNeeded() {
|
||||
consoleController()->loadPythonEnvironment(false);
|
||||
}
|
||||
|
||||
void MenuController::openConsoleWithScript(Script script) {
|
||||
reloadConsole();
|
||||
if (consoleController()->loadPythonEnvironment(false)) {
|
||||
stackViewController()->push(consoleController());
|
||||
consoleController()->autoImportScript(script, true);
|
||||
}
|
||||
consoleController()->setAutoImport(false);
|
||||
stackViewController()->push(consoleController());
|
||||
consoleController()->autoImportScript(script, true);
|
||||
m_reloadConsoleWhenBecomingFirstResponder = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user