From 44809f4b3f47381b84f427a9697568041f04d24d Mon Sep 17 00:00:00 2001 From: Ruben Dashyan Date: Thu, 18 Jul 2019 16:10:26 +0200 Subject: [PATCH] Substitute Escher app() by Container::activeApp() --- apps/calculation/app.h | 2 +- .../edit_expression_controller.cpp | 4 ++-- apps/calculation/history_controller.cpp | 14 ++++++------- apps/calculation/history_view_cell.cpp | 6 +++--- apps/code/app.h | 2 +- apps/code/console_controller.cpp | 4 ++-- apps/code/console_edit_cell.cpp | 2 +- apps/code/console_line_cell.cpp | 2 +- apps/code/editor_controller.cpp | 2 +- apps/code/editor_view.cpp | 2 +- apps/code/menu_controller.cpp | 18 ++++++++--------- apps/code/python_toolbox.cpp | 2 +- apps/code/script_name_cell.cpp | 2 +- apps/code/script_parameter_controller.cpp | 4 ++-- apps/code/variable_box_controller.cpp | 2 +- apps/exam_pop_up_controller.cpp | 7 +++---- apps/graph/app.h | 2 +- .../calculation_parameter_controller.cpp | 2 +- apps/graph/graph/tangent_graph_controller.cpp | 2 +- apps/graph/list/list_controller.cpp | 16 +++++++-------- .../list/text_field_function_title_cell.cpp | 4 ++-- .../derivative_parameter_controller.cpp | 2 +- apps/hardware_test/pop_up_controller.cpp | 6 +++--- apps/home/app.h | 2 +- apps/home/controller.cpp | 2 +- apps/math_toolbox.cpp | 2 +- apps/on_boarding/language_controller.cpp | 2 +- apps/on_boarding/logo_controller.cpp | 2 +- apps/on_boarding/pop_up_controller.cpp | 2 +- apps/probability/app.h | 2 +- apps/probability/calculation_controller.cpp | 4 ++-- .../calculation_type_controller.cpp | 6 +++--- apps/probability/law_controller.cpp | 2 +- apps/probability/parameters_controller.cpp | 2 +- apps/probability/responder_image_cell.cpp | 4 ++-- apps/regression/app.h | 2 +- apps/regression/calculation_controller.cpp | 4 ++-- .../regression/go_to_parameter_controller.cpp | 4 ++-- apps/regression/graph_options_controller.cpp | 3 +-- .../initialisation_parameter_controller.cpp | 2 +- apps/regression/regression_controller.cpp | 2 +- .../regression/store_parameter_controller.cpp | 2 +- apps/sequence/app.h | 2 +- apps/sequence/list/list_controller.cpp | 2 +- .../list/list_parameter_controller.cpp | 6 +++--- apps/sequence/list/sequence_toolbox.cpp | 2 +- .../list/type_parameter_controller.cpp | 4 ++-- .../values/interval_parameter_controller.cpp | 2 +- apps/settings/app.h | 4 ---- apps/settings/main_controller.cpp | 2 +- apps/settings/sub_menu/about_controller.cpp | 2 +- .../sub_menu/generic_sub_controller.cpp | 2 +- .../sub_menu/preferences_controller.cpp | 2 +- .../buffer_text_view_with_text_field.cpp | 2 +- .../editable_cell_table_view_controller.cpp | 2 +- apps/shared/float_parameter_controller.cpp | 2 +- apps/shared/function_app.h | 2 +- .../function_curve_parameter_controller.cpp | 2 +- apps/shared/function_graph_controller.cpp | 2 +- apps/shared/function_list_controller.cpp | 6 +++--- .../initialisation_parameter_controller.cpp | 2 +- apps/shared/input_event_handler_delegate.h | 2 +- .../interactive_curve_view_controller.cpp | 4 ++-- apps/shared/interval_parameter_controller.cpp | 4 ++-- apps/shared/language_controller.cpp | 2 +- apps/shared/layout_field_delegate.h | 2 +- apps/shared/list_parameter_controller.cpp | 2 +- apps/shared/message_controller.cpp | 2 +- ...ble_exact_approximate_expressions_cell.cpp | 2 +- apps/shared/store_controller.cpp | 14 ++++++------- apps/shared/store_parameter_controller.cpp | 2 +- apps/shared/sum_graph_controller.cpp | 8 ++++---- apps/shared/tab_table_controller.cpp | 2 +- apps/shared/text_field_delegate.h | 2 +- apps/shared/values_controller.cpp | 4 ++-- .../values_function_parameter_controller.cpp | 2 +- apps/shared/values_parameter_controller.cpp | 2 +- apps/solver/app.h | 2 +- apps/solver/equation_list_view.cpp | 2 +- .../equation_models_parameter_controller.cpp | 4 ++-- apps/solver/list_controller.cpp | 20 +++++++++---------- apps/solver/solutions_controller.cpp | 2 +- apps/statistics/calculation_controller.cpp | 2 +- .../histogram_parameter_controller.cpp | 10 +++++----- .../multiple_data_view_controller.cpp | 2 +- apps/variable_box_controller.cpp | 2 +- escher/include/escher/container.h | 4 ---- .../src/alternate_empty_view_controller.cpp | 2 +- escher/src/bank_view_controller.cpp | 4 ++-- escher/src/button_row_controller.cpp | 4 ++-- escher/src/editable_text_cell.cpp | 2 +- escher/src/even_odd_editable_text_cell.cpp | 2 +- escher/src/input_event_handler.cpp | 2 +- escher/src/input_view_controller.cpp | 2 +- .../message_table_cell_with_editable_text.cpp | 2 +- escher/src/modal_view_controller.cpp | 8 ++++---- escher/src/nested_menu_controller.cpp | 8 ++++---- escher/src/selectable_table_view.cpp | 6 +----- escher/src/stack_view_controller.cpp | 4 ++-- escher/src/tab_view_controller.cpp | 14 ++++++------- escher/src/warning_controller.cpp | 2 +- 101 files changed, 181 insertions(+), 197 deletions(-) diff --git a/apps/calculation/app.h b/apps/calculation/app.h index 0040fcd51..aee59a7ff 100644 --- a/apps/calculation/app.h +++ b/apps/calculation/app.h @@ -40,7 +40,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/calculation/edit_expression_controller.cpp b/apps/calculation/edit_expression_controller.cpp index 25075501f..cb6ebdebf 100644 --- a/apps/calculation/edit_expression_controller.cpp +++ b/apps/calculation/edit_expression_controller.cpp @@ -61,7 +61,7 @@ void EditExpressionController::didBecomeFirstResponder() { int lastRow = m_calculationStore->numberOfCalculations() > 0 ? m_calculationStore->numberOfCalculations()-1 : 0; m_historyController->scrollToCell(0, lastRow); ((ContentView *)view())->expressionField()->setEditing(true, false); - app()->setFirstResponder(((ContentView *)view())->expressionField()); + Container::activeApp()->setFirstResponder(((ContentView *)view())->expressionField()); } bool EditExpressionController::textFieldDidReceiveEvent(::TextField * textField, Ion::Events::Event event) { @@ -133,7 +133,7 @@ bool EditExpressionController::inputViewDidReceiveEvent(Ion::Events::Event event if (m_calculationStore->numberOfCalculations() > 0) { m_cacheBuffer[0] = 0; ((ContentView *)view())->expressionField()->setEditing(false, false); - app()->setFirstResponder(m_historyController); + Container::activeApp()->setFirstResponder(m_historyController); } return true; } diff --git a/apps/calculation/history_controller.cpp b/apps/calculation/history_controller.cpp index 8a60a1827..04b63ae46 100644 --- a/apps/calculation/history_controller.cpp +++ b/apps/calculation/history_controller.cpp @@ -24,7 +24,7 @@ void HistoryController::reload() { void HistoryController::didBecomeFirstResponder() { selectCellAtLocation(0, numberOfRows()-1); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } void HistoryController::willExitResponderChain(Responder * nextFirstResponder) { @@ -36,7 +36,7 @@ void HistoryController::willExitResponderChain(Responder * nextFirstResponder) { bool HistoryController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Down) { m_selectableTableView.deselectTable(); - app()->setFirstResponder(parentResponder()); + Container::activeApp()->setFirstResponder(parentResponder()); return true; } if (event == Ion::Events::Up) { @@ -48,7 +48,7 @@ bool HistoryController::handleEvent(Ion::Events::Event event) { SubviewType subviewType = selectedSubviewType(); EditExpressionController * editController = (EditExpressionController *)parentResponder(); m_selectableTableView.deselectTable(); - app()->setFirstResponder(editController); + Container::activeApp()->setFirstResponder(editController); Calculation * calculation = m_calculationStore->calculationAtIndex(focusRow); if (subviewType == SubviewType::Input) { editController->insertTextBody(calculation->inputText()); @@ -72,7 +72,7 @@ bool HistoryController::handleEvent(Ion::Events::Event event) { m_calculationStore->deleteCalculationAtIndex(focusRow); reload(); if (numberOfRows()== 0) { - app()->setFirstResponder(editController); + Container::activeApp()->setFirstResponder(editController); return true; } if (focusRow > 0) { @@ -92,13 +92,13 @@ bool HistoryController::handleEvent(Ion::Events::Event event) { m_selectableTableView.deselectTable(); m_calculationStore->deleteAll(); reload(); - app()->setFirstResponder(parentResponder()); + Container::activeApp()->setFirstResponder(parentResponder()); return true; } if (event == Ion::Events::Back) { EditExpressionController * editController = (EditExpressionController *)parentResponder(); m_selectableTableView.deselectTable(); - app()->setFirstResponder(editController); + Container::activeApp()->setFirstResponder(editController); return true; } return false; @@ -120,7 +120,7 @@ void HistoryController::tableViewDidChangeSelection(SelectableTableView * t, int if (selectedCell == nullptr) { return; } - app()->setFirstResponder(selectedCell); + Container::activeApp()->setFirstResponder(selectedCell); } int HistoryController::numberOfRows() { diff --git a/apps/calculation/history_view_cell.cpp b/apps/calculation/history_view_cell.cpp index 3156a46a7..1e084c586 100644 --- a/apps/calculation/history_view_cell.cpp +++ b/apps/calculation/history_view_cell.cpp @@ -167,9 +167,9 @@ void HistoryViewCell::setCalculation(Calculation * calculation, bool expanded) { void HistoryViewCell::didBecomeFirstResponder() { assert(m_dataSource); if (m_dataSource->selectedSubviewType() == HistoryViewCellDataSource::SubviewType::Input) { - app()->setFirstResponder(&m_inputView); + Container::activeApp()->setFirstResponder(&m_inputView); } else { - app()->setFirstResponder(&m_scrollableOutputView); + Container::activeApp()->setFirstResponder(&m_scrollableOutputView); } } @@ -181,7 +181,7 @@ bool HistoryViewCell::handleEvent(Ion::Events::Event event) { m_dataSource->setSelectedSubviewType(otherSubviewType, this); CalculationSelectableTableView * tableView = (CalculationSelectableTableView *)parentResponder(); tableView->scrollToSubviewOfTypeOfCellAtLocation(otherSubviewType, tableView->selectedColumn(), tableView->selectedRow()); - app()->setFirstResponder(this); + Container::activeApp()->setFirstResponder(this); return true; } return false; diff --git a/apps/code/app.h b/apps/code/app.h index 841c54542..f188a175e 100644 --- a/apps/code/app.h +++ b/apps/code/app.h @@ -85,7 +85,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/code/console_controller.cpp b/apps/code/console_controller.cpp index 9c2042020..8eb34d8fb 100644 --- a/apps/code/console_controller.cpp +++ b/apps/code/console_controller.cpp @@ -153,7 +153,7 @@ void ConsoleController::viewWillAppear() { } void ConsoleController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_editCell); + Container::activeApp()->setFirstResponder(&m_editCell); } bool ConsoleController::handleEvent(Ion::Events::Event event) { @@ -162,7 +162,7 @@ bool ConsoleController::handleEvent(Ion::Events::Event event) { const char * text = m_consoleStore.lineAtIndex(m_selectableTableView.selectedRow()).text(); m_editCell.setEditing(true); m_selectableTableView.selectCellAtLocation(0, m_consoleStore.numberOfLines()); - app()->setFirstResponder(&m_editCell); + Container::activeApp()->setFirstResponder(&m_editCell); return m_editCell.insertText(text); } } else if (event == Ion::Events::Clear) { diff --git a/apps/code/console_edit_cell.cpp b/apps/code/console_edit_cell.cpp index 9fc5ff585..8e1938aa8 100644 --- a/apps/code/console_edit_cell.cpp +++ b/apps/code/console_edit_cell.cpp @@ -35,7 +35,7 @@ void ConsoleEditCell::layoutSubviews() { } void ConsoleEditCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); } void ConsoleEditCell::setEditing(bool isEditing, bool reinitDraftBuffer) { diff --git a/apps/code/console_line_cell.cpp b/apps/code/console_line_cell.cpp index 5a696d57a..b0181b6a0 100644 --- a/apps/code/console_line_cell.cpp +++ b/apps/code/console_line_cell.cpp @@ -90,7 +90,7 @@ void ConsoleLineCell::layoutSubviews() { } void ConsoleLineCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_scrollableView); + Container::activeApp()->setFirstResponder(&m_scrollableView); } } diff --git a/apps/code/editor_controller.cpp b/apps/code/editor_controller.cpp index b07470d88..4c59d49c6 100644 --- a/apps/code/editor_controller.cpp +++ b/apps/code/editor_controller.cpp @@ -39,7 +39,7 @@ bool EditorController::handleEvent(Ion::Events::Event event) { } void EditorController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_editorView); + Container::activeApp()->setFirstResponder(&m_editorView); } void EditorController::viewWillAppear() { diff --git a/apps/code/editor_view.cpp b/apps/code/editor_view.cpp index cf883dc69..4138b5221 100644 --- a/apps/code/editor_view.cpp +++ b/apps/code/editor_view.cpp @@ -31,7 +31,7 @@ View * EditorView::subviewAtIndex(int index) { } void EditorView::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textArea); + Container::activeApp()->setFirstResponder(&m_textArea); } void EditorView::layoutSubviews() { diff --git a/apps/code/menu_controller.cpp b/apps/code/menu_controller.cpp index dabd1e7a8..25bcf67aa 100644 --- a/apps/code/menu_controller.cpp +++ b/apps/code/menu_controller.cpp @@ -61,14 +61,14 @@ void MenuController::didBecomeFirstResponder() { } if (footer()->selectedButton() == 0) { assert(m_selectableTableView.selectedRow() < 0); - app()->setFirstResponder(&m_consoleButton); + Container::activeApp()->setFirstResponder(&m_consoleButton); return; } if (m_selectableTableView.selectedRow() < 0) { m_selectableTableView.selectCellAtLocation(0,0); } assert(m_selectableTableView.selectedRow() < m_scriptStore->numberOfScripts() + 1); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); #if EPSILON_GETOPT if (consoleController()->locked()) { consoleController()->setAutoImport(true); @@ -92,7 +92,7 @@ bool MenuController::handleEvent(Ion::Events::Event event) { if (footer()->selectedButton() == 0) { footer()->setSelectedButton(-1); m_selectableTableView.selectCellAtLocation(0, numberOfRows()-1); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); return true; } } @@ -124,7 +124,7 @@ void MenuController::renameSelectedScript() { AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); m_selectableTableView.selectCellAtLocation(0, (m_selectableTableView.selectedRow())); ScriptNameCell * myCell = static_cast(m_selectableTableView.selectedCell()); - app()->setFirstResponder(myCell); + Container::activeApp()->setFirstResponder(myCell); myCell->setHighlighted(false); myCell->textField()->setEditing(true, false); myCell->textField()->setCursorLocation(myCell->textField()->text() + strlen(myCell->textField()->text())); @@ -337,16 +337,16 @@ bool MenuController::textFieldDidFinishEditing(TextField * textField, const char } m_selectableTableView.selectedCell()->setHighlighted(true); reloadConsole(); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } else if (error == Script::ErrorStatus::NameTaken) { - app()->displayWarning(I18n::Message::NameTaken); + Container::activeApp()->displayWarning(I18n::Message::NameTaken); } else if (error == Script::ErrorStatus::NonCompliantName) { - app()->displayWarning(I18n::Message::AllowedCharactersaz09, I18n::Message::NameCannotStartWithNumber); + Container::activeApp()->displayWarning(I18n::Message::AllowedCharactersaz09, I18n::Message::NameCannotStartWithNumber); } else { assert(error == Script::ErrorStatus::NotEnoughSpaceAvailable); - app()->displayWarning(I18n::Message::NameTooLong); + Container::activeApp()->displayWarning(I18n::Message::NameTooLong); } return false; } @@ -420,7 +420,7 @@ bool MenuController::privateTextFieldDidAbortEditing(TextField * textField, bool textField->setText(scriptName); if (menuControllerStaysInResponderChain) { m_selectableTableView.selectCellAtLocation(m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow()); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; diff --git a/apps/code/python_toolbox.cpp b/apps/code/python_toolbox.cpp index a002b7f8a..6fa965ac4 100644 --- a/apps/code/python_toolbox.cpp +++ b/apps/code/python_toolbox.cpp @@ -370,7 +370,7 @@ bool PythonToolbox::selectLeaf(int selectedRow) { editedText = strippedEditedText; } sender()->handleEventWithText(editedText, true); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/apps/code/script_name_cell.cpp b/apps/code/script_name_cell.cpp index 8dbc6564b..26792e7f2 100644 --- a/apps/code/script_name_cell.cpp +++ b/apps/code/script_name_cell.cpp @@ -26,7 +26,7 @@ KDSize ScriptNameCell::minimalSizeForOptimalDisplay() const { } void ScriptNameCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); } void ScriptNameCell::layoutSubviews() { diff --git a/apps/code/script_parameter_controller.cpp b/apps/code/script_parameter_controller.cpp index 7dda64195..7a8e67b23 100644 --- a/apps/code/script_parameter_controller.cpp +++ b/apps/code/script_parameter_controller.cpp @@ -45,7 +45,7 @@ bool ScriptParameterController::handleEvent(Ion::Events::Event event) { m_script.toggleImportationStatus(); m_selectableTableView.reloadData(); m_menuController->reloadConsole(); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); return true; case 3: dismissScriptParameterController(); @@ -67,7 +67,7 @@ void ScriptParameterController::viewWillAppear() { void ScriptParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } HighlightCell * ScriptParameterController::reusableCell(int index) { diff --git a/apps/code/variable_box_controller.cpp b/apps/code/variable_box_controller.cpp index b8345ec01..88f981942 100644 --- a/apps/code/variable_box_controller.cpp +++ b/apps/code/variable_box_controller.cpp @@ -100,7 +100,7 @@ bool VariableBoxController::selectLeaf(int rowIndex) { if (selectedScriptNode.type() == ScriptNode::Type::Function) { insertTextInCaller(ScriptNodeCell::k_parenthesesWithEmpty); } - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/apps/exam_pop_up_controller.cpp b/apps/exam_pop_up_controller.cpp index 94d06c41c..4b3a38f01 100644 --- a/apps/exam_pop_up_controller.cpp +++ b/apps/exam_pop_up_controller.cpp @@ -47,8 +47,7 @@ bool ExamPopUpController::handleEvent(Ion::Events::Event event) { ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : m_cancelButton(parentResponder, I18n::Message::Cancel, Invocation([](void * context, void * sender) { - AppsContainer * container = AppsContainer::sharedAppsContainer(); - container->activeApp()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; }, parentResponder), KDFont::SmallFont), m_okButton(parentResponder, I18n::Message::Ok, Invocation([](void * context, void * sender) { @@ -64,7 +63,7 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) : Ion::LED::setColor(KDColorBlack); } container->refreshPreferences(); - container->activeApp()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; }, parentResponder), KDFont::SmallFont), m_warningTextView(KDFont::SmallFont, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack), @@ -81,7 +80,7 @@ void ExamPopUpController::ContentView::drawRect(KDContext * ctx, KDRect rect) co void ExamPopUpController::ContentView::setSelectedButton(int selectedButton) { m_cancelButton.setHighlighted(selectedButton == 0); m_okButton.setHighlighted(selectedButton == 1); - app()->setFirstResponder(selectedButton == 0 ? &m_cancelButton : &m_okButton); + Container::activeApp()->setFirstResponder(selectedButton == 0 ? &m_cancelButton : &m_okButton); } int ExamPopUpController::ContentView::selectedButton() { diff --git a/apps/graph/app.h b/apps/graph/app.h index 362dfe858..d3f7a5314 100644 --- a/apps/graph/app.h +++ b/apps/graph/app.h @@ -53,7 +53,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/graph/graph/calculation_parameter_controller.cpp b/apps/graph/graph/calculation_parameter_controller.cpp index f7df007b4..3f96e23b4 100644 --- a/apps/graph/graph/calculation_parameter_controller.cpp +++ b/apps/graph/graph/calculation_parameter_controller.cpp @@ -33,7 +33,7 @@ View * CalculationParameterController::view() { void CalculationParameterController::didBecomeFirstResponder() { m_selectableTableView.selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool CalculationParameterController::handleEvent(Ion::Events::Event event) { diff --git a/apps/graph/graph/tangent_graph_controller.cpp b/apps/graph/graph/tangent_graph_controller.cpp index bd066ea33..33e9589d1 100644 --- a/apps/graph/graph/tangent_graph_controller.cpp +++ b/apps/graph/graph/tangent_graph_controller.cpp @@ -34,7 +34,7 @@ void TangentGraphController::didBecomeFirstResponder() { if (curveView()->isMainViewSelected()) { m_bannerView->abscissaValue()->setParentResponder(this); m_bannerView->abscissaValue()->setDelegates(textFieldDelegateApp(), this); - app()->setFirstResponder(m_bannerView->abscissaValue()); + Container::activeApp()->setFirstResponder(m_bannerView->abscissaValue()); } } diff --git a/apps/graph/list/list_controller.cpp b/apps/graph/list/list_controller.cpp index 5d7a26a02..ed17fd5d5 100644 --- a/apps/graph/list/list_controller.cpp +++ b/apps/graph/list/list_controller.cpp @@ -41,7 +41,7 @@ void ListController::renameSelectedFunction() { AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::AlphaLock); TextFieldFunctionTitleCell * selectedTitleCell = (TextFieldFunctionTitleCell *)(selectableTableView()->selectedCell()); selectedTitleCell->setHorizontalAlignment(1.0f); - app()->setFirstResponder(selectedTitleCell); + Container::activeApp()->setFirstResponder(selectedTitleCell); selectedTitleCell->setEditing(true); } @@ -87,27 +87,27 @@ bool ListController::textFieldDidFinishEditing(TextField * textField, const char } m_selectableTableView.selectedCell()->setHighlighted(true); m_selectableTableView.reloadData(); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); if (selectTab) { m_selectableTableView.parentResponder()->handleEvent(event); } AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } else if (error == Ion::Storage::Record::ErrorStatus::NameTaken) { - app()->displayWarning(I18n::Message::NameTaken); + Container::activeApp()->displayWarning(I18n::Message::NameTaken); } else if (error == Ion::Storage::Record::ErrorStatus::NonCompliantName) { assert(nameError != Function::NameNotCompliantError::None); if (nameError == Function::NameNotCompliantError::CharacterNotAllowed) { - app()->displayWarning(I18n::Message::AllowedCharactersAZaz09); + Container::activeApp()->displayWarning(I18n::Message::AllowedCharactersAZaz09); } else if (nameError == Function::NameNotCompliantError::NameCannotStartWithNumber) { - app()->displayWarning(I18n::Message::NameCannotStartWithNumber); + Container::activeApp()->displayWarning(I18n::Message::NameCannotStartWithNumber); } else { assert(nameError == Function::NameNotCompliantError::ReservedName); - app()->displayWarning(I18n::Message::ReservedName); + Container::activeApp()->displayWarning(I18n::Message::ReservedName); } } else { assert(error == Ion::Storage::Record::ErrorStatus::NotEnoughSpaceAvailable); - app()->displayWarning(I18n::Message::NameTooLong); + Container::activeApp()->displayWarning(I18n::Message::NameTooLong); } textField->setEditing(true, false); return false; @@ -121,7 +121,7 @@ bool ListController::textFieldDidAbortEditing(TextField * textField) { ExpiringPointer function = modelStore()->modelForRecord(modelStore()->recordAtIndex(selectedRow())); setFunctionNameInTextField(function, textField); m_selectableTableView.selectedCell()->setHighlighted(true); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); AppsContainer::sharedAppsContainer()->setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus::Default); return true; } diff --git a/apps/graph/list/text_field_function_title_cell.cpp b/apps/graph/list/text_field_function_title_cell.cpp index 56057d888..16ef037c3 100644 --- a/apps/graph/list/text_field_function_title_cell.cpp +++ b/apps/graph/list/text_field_function_title_cell.cpp @@ -24,7 +24,7 @@ Responder * TextFieldFunctionTitleCell::responder() { } void TextFieldFunctionTitleCell::setEditing(bool editing) { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); const char * previousText = m_textField.text(); m_textField.setEditing(true, false); m_textField.setText(previousText); @@ -67,7 +67,7 @@ void TextFieldFunctionTitleCell::layoutSubviews() { void TextFieldFunctionTitleCell::didBecomeFirstResponder() { if (isEditing()) { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); } } diff --git a/apps/graph/values/derivative_parameter_controller.cpp b/apps/graph/values/derivative_parameter_controller.cpp index 4a411bf58..18f6188fd 100644 --- a/apps/graph/values/derivative_parameter_controller.cpp +++ b/apps/graph/values/derivative_parameter_controller.cpp @@ -31,7 +31,7 @@ View * DerivativeParameterController::view() { void DerivativeParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool DerivativeParameterController::handleEvent(Ion::Events::Event event) { diff --git a/apps/hardware_test/pop_up_controller.cpp b/apps/hardware_test/pop_up_controller.cpp index 954bf5c13..24a0592b5 100644 --- a/apps/hardware_test/pop_up_controller.cpp +++ b/apps/hardware_test/pop_up_controller.cpp @@ -35,7 +35,7 @@ bool PopUpController::handleEvent(Ion::Events::Event event) { PopUpController::ContentView::ContentView(Responder * parentResponder) : Responder(parentResponder), m_cancelButton(this, I18n::Message::Cancel, Invocation([](void * context, void * sender) { - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; }, this), KDFont::SmallFont), m_okButton(this, I18n::Message::Ok, Invocation([](void * context, void * sender) { @@ -61,9 +61,9 @@ void PopUpController::ContentView::setSelectedButton(int selectedButton) { m_cancelButton.setHighlighted(selectedButton == 0); m_okButton.setHighlighted(selectedButton == 1); if (selectedButton == 0) { - app()->setFirstResponder(&m_cancelButton); + Container::activeApp()->setFirstResponder(&m_cancelButton); } else { - app()->setFirstResponder(&m_okButton); + Container::activeApp()->setFirstResponder(&m_okButton); } } diff --git a/apps/home/app.h b/apps/home/app.h index d483c89e3..22ab0e4fd 100644 --- a/apps/home/app.h +++ b/apps/home/app.h @@ -27,7 +27,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/home/controller.cpp b/apps/home/controller.cpp index 238aa0b35..185a842fb 100644 --- a/apps/home/controller.cpp +++ b/apps/home/controller.cpp @@ -81,7 +81,7 @@ void Controller::didBecomeFirstResponder() { if (selectionDataSource()->selectedRow() == -1) { selectionDataSource()->selectCellAtLocation(0, 0); } - app()->setFirstResponder(m_view.selectableTableView()); + Container::activeApp()->setFirstResponder(m_view.selectableTableView()); } void Controller::viewWillAppear() { diff --git a/apps/math_toolbox.cpp b/apps/math_toolbox.cpp index 7d449d3c2..5d49250d4 100644 --- a/apps/math_toolbox.cpp +++ b/apps/math_toolbox.cpp @@ -120,7 +120,7 @@ bool MathToolbox::selectLeaf(int selectedRow) { text = textToInsert; } sender()->handleEventWithText(text); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/apps/on_boarding/language_controller.cpp b/apps/on_boarding/language_controller.cpp index 6e76bae4b..6d2753b9e 100644 --- a/apps/on_boarding/language_controller.cpp +++ b/apps/on_boarding/language_controller.cpp @@ -13,7 +13,7 @@ bool LanguageController::handleEvent(Ion::Events::Event event) { if (Shared::LanguageController::handleEvent(event)) { AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); #ifdef EPSILON_BOOT_PROMPT - app()->displayModalViewController(appsContainer->promptController(), 0.5f, 0.5f); + Container::activeApp()->displayModalViewController(appsContainer->promptController(), 0.5f, 0.5f); #else appsContainer->switchTo(appsContainer->appSnapshotAtIndex(0)); #endif diff --git a/apps/on_boarding/logo_controller.cpp b/apps/on_boarding/logo_controller.cpp index 3068da16c..c63ebadca 100644 --- a/apps/on_boarding/logo_controller.cpp +++ b/apps/on_boarding/logo_controller.cpp @@ -14,7 +14,7 @@ View * LogoController::view() { } bool LogoController::fire() { - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/apps/on_boarding/pop_up_controller.cpp b/apps/on_boarding/pop_up_controller.cpp index af60e384d..61cf77906 100644 --- a/apps/on_boarding/pop_up_controller.cpp +++ b/apps/on_boarding/pop_up_controller.cpp @@ -52,7 +52,7 @@ PopUpController::PopUpController(I18n::Message * messages, KDColor * colors, uin bool PopUpController::handleEvent(Ion::Events::Event event) { if (event != Ion::Events::Back && event != Ion::Events::OnOff && event != Ion::Events::USBPlug && event != Ion::Events::USBEnumeration) { - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); AppsContainer * appsContainer = AppsContainer::sharedAppsContainer(); if (appsContainer->activeApp()->snapshot() == appsContainer->onBoardingAppSnapshot()) { bool switched = appsContainer->switchTo(appsContainer->appSnapshotAtIndex(0)); diff --git a/apps/probability/app.h b/apps/probability/app.h index a8cdd606d..59841f1f1 100644 --- a/apps/probability/app.h +++ b/apps/probability/app.h @@ -64,7 +64,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/probability/calculation_controller.cpp b/apps/probability/calculation_controller.cpp index e63aeeaed..dd86480c1 100644 --- a/apps/probability/calculation_controller.cpp +++ b/apps/probability/calculation_controller.cpp @@ -86,7 +86,7 @@ void CalculationController::didEnterResponderChain(Responder * previousResponder } void CalculationController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } View * CalculationController::view() { @@ -192,7 +192,7 @@ bool CalculationController::textFieldDidHandleEvent(::TextField * textField, boo /* We do not reload the responder because the first responder might be the * toolbox (or the variable box) and reloading the responder would corrupt * the first responder. */ - bool shouldUpdateFirstResponder = app()->firstResponder() == textField; + bool shouldUpdateFirstResponder = Container::activeApp()->firstResponder() == textField; m_selectableTableView.reloadData(shouldUpdateFirstResponder); // The textField frame might have increased which forces to reload the textField scroll textField->scrollToCursor(); diff --git a/apps/probability/calculation_type_controller.cpp b/apps/probability/calculation_type_controller.cpp index aef5c6527..b793277f4 100644 --- a/apps/probability/calculation_type_controller.cpp +++ b/apps/probability/calculation_type_controller.cpp @@ -39,21 +39,21 @@ void CalculationTypeController::viewDidDisappear() { } void CalculationTypeController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool CalculationTypeController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::OK || event == Ion::Events::EXE) { m_calculationController->setCalculationAccordingToIndex(selectedRow()); m_calculationController->reload(); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } if (event == Ion::Events::Back || event == Ion::Events::Right) { if (event == Ion::Events::Right) { m_calculationController->selectCellAtLocation(1,0); } - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } return false; diff --git a/apps/probability/law_controller.cpp b/apps/probability/law_controller.cpp index 60e5eb596..14ae76ee4 100644 --- a/apps/probability/law_controller.cpp +++ b/apps/probability/law_controller.cpp @@ -79,7 +79,7 @@ void Probability::LawController::didBecomeFirstResponder() { } else { selectCellAtLocation(selectedColumn(), selectedRow()); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool Probability::LawController::handleEvent(Ion::Events::Event event) { diff --git a/apps/probability/parameters_controller.cpp b/apps/probability/parameters_controller.cpp index d6bb367d2..eaeddf52a 100644 --- a/apps/probability/parameters_controller.cpp +++ b/apps/probability/parameters_controller.cpp @@ -144,7 +144,7 @@ double ParametersController::parameterAtIndex(int index) { bool ParametersController::setParameterAtIndex(int parameterIndex, double f) { if (!m_law->authorizedValueAtIndex(f, parameterIndex)) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } m_law->setParameterAtIndex(f, parameterIndex); diff --git a/apps/probability/responder_image_cell.cpp b/apps/probability/responder_image_cell.cpp index a69274ee6..947bde386 100644 --- a/apps/probability/responder_image_cell.cpp +++ b/apps/probability/responder_image_cell.cpp @@ -21,8 +21,8 @@ KDSize ResponderImageCell::minimalSizeForOptimalDisplay() const { bool ResponderImageCell::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Down) { - KDPoint topLeftAngle = app()->modalView()->pointFromPointInView(this, KDPoint(k_outline, k_outline)); - app()->displayModalViewController(&m_calculationTypeController, 0.0f, 0.0f, topLeftAngle.y(), topLeftAngle.x()); + KDPoint topLeftAngle = Container::activeApp()->modalView()->pointFromPointInView(this, KDPoint(k_outline, k_outline)); + Container::activeApp()->displayModalViewController(&m_calculationTypeController, 0.0f, 0.0f, topLeftAngle.y(), topLeftAngle.x()); return true; } return false; diff --git a/apps/regression/app.h b/apps/regression/app.h index 06f443195..ebac8db7a 100644 --- a/apps/regression/app.h +++ b/apps/regression/app.h @@ -58,7 +58,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/regression/calculation_controller.cpp b/apps/regression/calculation_controller.cpp index cb1e4ea40..be96868a0 100644 --- a/apps/regression/calculation_controller.cpp +++ b/apps/regression/calculation_controller.cpp @@ -50,7 +50,7 @@ const char * CalculationController::title() { bool CalculationController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Up) { selectableTableView()->deselectTable(); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } return false; @@ -78,7 +78,7 @@ void CalculationController::tableViewDidChangeSelection(SelectableTableView * t, if (t->selectedRow() == 0 && t->selectedColumn() == 0) { if (previousSelectedCellX == 0 && previousSelectedCellY == 1) { selectableTableView()->deselectTable(); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); } else { t->selectCellAtLocation(0, 1); } diff --git a/apps/regression/go_to_parameter_controller.cpp b/apps/regression/go_to_parameter_controller.cpp index 5074050ad..4d6c1c602 100644 --- a/apps/regression/go_to_parameter_controller.cpp +++ b/apps/regression/go_to_parameter_controller.cpp @@ -57,7 +57,7 @@ bool GoToParameterController::setParameterAtIndex(int parameterIndex, double f) } } // Value not reached - app()->displayWarning(I18n::Message::ValueNotReachedByRegression); + Container::activeApp()->displayWarning(I18n::Message::ValueNotReachedByRegression); return false; } m_graphController->selectRegressionCurve(); @@ -68,7 +68,7 @@ bool GoToParameterController::setParameterAtIndex(int parameterIndex, double f) /* We here compute y2 = a*((y1-b)/a)+b, which does not always give y1, * because of computation precision. y2 migth thus be invalid. */ if (std::isnan(yFromX) || std::isinf(yFromX)) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } m_cursor->moveTo(unknown, yFromX); diff --git a/apps/regression/graph_options_controller.cpp b/apps/regression/graph_options_controller.cpp index 642f43ef9..b61e489a0 100644 --- a/apps/regression/graph_options_controller.cpp +++ b/apps/regression/graph_options_controller.cpp @@ -2,7 +2,6 @@ #include "app.h" #include "graph_controller.h" #include "regression_controller.h" -#include #include using namespace Shared; @@ -32,7 +31,7 @@ void GraphOptionsController::didBecomeFirstResponder() { if (selectedRow() < 0) { selectCellAtLocation(0, 0); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } void GraphOptionsController::viewWillAppear() { diff --git a/apps/regression/initialisation_parameter_controller.cpp b/apps/regression/initialisation_parameter_controller.cpp index ac811b1bb..76600ce88 100644 --- a/apps/regression/initialisation_parameter_controller.cpp +++ b/apps/regression/initialisation_parameter_controller.cpp @@ -22,7 +22,7 @@ View * InitialisationParameterController::view() { void InitialisationParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool InitialisationParameterController::handleEvent(Ion::Events::Event event) { diff --git a/apps/regression/regression_controller.cpp b/apps/regression/regression_controller.cpp index 0376701c9..9cc70181f 100644 --- a/apps/regression/regression_controller.cpp +++ b/apps/regression/regression_controller.cpp @@ -30,7 +30,7 @@ const char * RegressionController::title() { void RegressionController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool RegressionController::handleEvent(Ion::Events::Event event) { diff --git a/apps/regression/store_parameter_controller.cpp b/apps/regression/store_parameter_controller.cpp index a82408cd5..07d5095a9 100644 --- a/apps/regression/store_parameter_controller.cpp +++ b/apps/regression/store_parameter_controller.cpp @@ -37,7 +37,7 @@ void StoreParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); } m_lastSelectionIsRegression = false; - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } HighlightCell * StoreParameterController::reusableCell(int index, int type) { diff --git a/apps/sequence/app.h b/apps/sequence/app.h index 1201105fe..2208cc095 100644 --- a/apps/sequence/app.h +++ b/apps/sequence/app.h @@ -59,7 +59,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/sequence/list/list_controller.cpp b/apps/sequence/list/list_controller.cpp index dad72cdd7..4b600141d 100644 --- a/apps/sequence/list/list_controller.cpp +++ b/apps/sequence/list/list_controller.cpp @@ -258,7 +258,7 @@ int ListController::sequenceDefinitionForRow(int j) { } void ListController::addEmptyModel() { - app()->displayModalViewController(&m_typeStackController, 0.f, 0.f, Metric::TabHeight+Metric::ModalTopMargin, Metric::CommonRightMargin, Metric::ModalBottomMargin, Metric::CommonLeftMargin); + Container::activeApp()->displayModalViewController(&m_typeStackController, 0.f, 0.f, Metric::TabHeight+Metric::ModalTopMargin, Metric::CommonRightMargin, Metric::ModalBottomMargin, Metric::CommonLeftMargin); } void ListController::editExpression(Ion::Events::Event event) { diff --git a/apps/sequence/list/list_parameter_controller.cpp b/apps/sequence/list/list_parameter_controller.cpp index 992ddb76e..01958722a 100644 --- a/apps/sequence/list/list_parameter_controller.cpp +++ b/apps/sequence/list/list_parameter_controller.cpp @@ -77,7 +77,7 @@ bool ListParameterController::textFieldDidFinishEditing(TextField * textField, c } int index = std::round(floatBody); if (index < 0 || floatBody >= maxFirstIndex) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } sequence()->setInitialRank(index); @@ -104,7 +104,7 @@ void ListParameterController::tableViewDidChangeSelection(SelectableTableView * if (myCell) { myCell->setEditing(false); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } #if FUNCTION_COLOR_CHOICE if (t->selectedRow() == 2) { @@ -112,7 +112,7 @@ void ListParameterController::tableViewDidChangeSelection(SelectableTableView * if (t->selectedRow() == 1) { #endif MessageTableCellWithEditableText * myNewCell = (MessageTableCellWithEditableText *)t->selectedCell(); - app()->setFirstResponder(myNewCell); + Container::activeApp()->setFirstResponder(myNewCell); } } diff --git a/apps/sequence/list/sequence_toolbox.cpp b/apps/sequence/list/sequence_toolbox.cpp index e6281baae..dc1db2667 100644 --- a/apps/sequence/list/sequence_toolbox.cpp +++ b/apps/sequence/list/sequence_toolbox.cpp @@ -99,7 +99,7 @@ bool SequenceToolbox::selectAddedCell(int selectedRow){ char buffer[bufferSize]; m_addedCellLayout[selectedRow].serializeParsedExpression(buffer, bufferSize); sender()->handleEventWithText(buffer); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/apps/sequence/list/type_parameter_controller.cpp b/apps/sequence/list/type_parameter_controller.cpp index de2c8d35a..637a79055 100644 --- a/apps/sequence/list/type_parameter_controller.cpp +++ b/apps/sequence/list/type_parameter_controller.cpp @@ -49,7 +49,7 @@ void TypeParameterController::viewDidDisappear() { void TypeParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool TypeParameterController::handleEvent(Ion::Events::Event event) { @@ -81,7 +81,7 @@ bool TypeParameterController::handleEvent(Ion::Events::Event event) { Ion::Storage::Record record = sequenceStore()->recordAtIndex(sequenceStore()->numberOfModels()-1); Sequence * newSequence = sequenceStore()->modelForRecord(record); newSequence->setType((Sequence::Type)selectedRow()); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); m_listController->editExpression(0, Ion::Events::OK); return true; } diff --git a/apps/sequence/values/interval_parameter_controller.cpp b/apps/sequence/values/interval_parameter_controller.cpp index eb337efc6..e5925ac82 100644 --- a/apps/sequence/values/interval_parameter_controller.cpp +++ b/apps/sequence/values/interval_parameter_controller.cpp @@ -22,7 +22,7 @@ void IntervalParameterController::willDisplayCellForIndex(HighlightCell * cell, bool IntervalParameterController::setParameterAtIndex(int parameterIndex, double f) { if (f < 0) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } double parameter = std::round(f); diff --git a/apps/settings/app.h b/apps/settings/app.h index 3189364d4..3f4c064d0 100644 --- a/apps/settings/app.h +++ b/apps/settings/app.h @@ -25,10 +25,6 @@ private: StackViewController m_stackViewController; }; -inline App * app() { - return static_cast(::app()); -} - } #endif diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index df748f77e..fd664d74d 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -65,7 +65,7 @@ void MainController::didBecomeFirstResponder() { if (selectedRow() < 0) { selectCellAtLocation(0, 0); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool MainController::handleEvent(Ion::Events::Event event) { diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 1596f6e44..12f28f996 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -18,7 +18,7 @@ bool AboutController::handleEvent(Ion::Events::Event event) { /* We hide here the activation hardware test app: in the menu "about", by * clicking on '6' on the last row. */ if ((event == Ion::Events::Six || event == Ion::Events::LowerT || event == Ion::Events::UpperT) && m_messageTreeModel->label() == I18n::Message::About && selectedRow() == numberOfRows()-1) { - app()->displayModalViewController(&m_hardwareTestPopUpController, 0.f, 0.f, Metric::ExamPopUpTopMargin, Metric::PopUpRightMargin, Metric::ExamPopUpBottomMargin, Metric::PopUpLeftMargin); + Container::activeApp()->displayModalViewController(&m_hardwareTestPopUpController, 0.f, 0.f, Metric::ExamPopUpTopMargin, Metric::PopUpRightMargin, Metric::ExamPopUpBottomMargin, Metric::PopUpLeftMargin); return true; } if (event == Ion::Events::OK || event == Ion::Events::EXE) { diff --git a/apps/settings/sub_menu/generic_sub_controller.cpp b/apps/settings/sub_menu/generic_sub_controller.cpp index 80ff32d8b..f69895893 100644 --- a/apps/settings/sub_menu/generic_sub_controller.cpp +++ b/apps/settings/sub_menu/generic_sub_controller.cpp @@ -28,7 +28,7 @@ View * GenericSubController::view() { void GenericSubController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool GenericSubController::handleEvent(Ion::Events::Event event) { diff --git a/apps/settings/sub_menu/preferences_controller.cpp b/apps/settings/sub_menu/preferences_controller.cpp index 45b684776..8f334dd6f 100644 --- a/apps/settings/sub_menu/preferences_controller.cpp +++ b/apps/settings/sub_menu/preferences_controller.cpp @@ -22,7 +22,7 @@ PreferencesController::PreferencesController(Responder * parentResponder) : void PreferencesController::didBecomeFirstResponder() { selectCellAtLocation(0, valueIndexForPreference(m_messageTreeModel->label())); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool PreferencesController::handleEvent(Ion::Events::Event event) { diff --git a/apps/shared/buffer_text_view_with_text_field.cpp b/apps/shared/buffer_text_view_with_text_field.cpp index 8d3bfb189..ca71591a1 100644 --- a/apps/shared/buffer_text_view_with_text_field.cpp +++ b/apps/shared/buffer_text_view_with_text_field.cpp @@ -40,7 +40,7 @@ void BufferTextViewWithTextField::drawRect(KDContext * ctx, KDRect rect) const { } void BufferTextViewWithTextField::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); m_textField.setEditing(true, false); markRectAsDirty(bounds()); } diff --git a/apps/shared/editable_cell_table_view_controller.cpp b/apps/shared/editable_cell_table_view_controller.cpp index 2e3ba723d..4e1ef615f 100644 --- a/apps/shared/editable_cell_table_view_controller.cpp +++ b/apps/shared/editable_cell_table_view_controller.cpp @@ -27,7 +27,7 @@ bool EditableCellTableViewController::textFieldDidFinishEditing(TextField * text return false; } if (!setDataAtLocation(floatBody, selectedColumn(), selectedRow())) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } /* At this point, a new cell is selected depending on the event, before the diff --git a/apps/shared/float_parameter_controller.cpp b/apps/shared/float_parameter_controller.cpp index 540a5cece..58e273465 100644 --- a/apps/shared/float_parameter_controller.cpp +++ b/apps/shared/float_parameter_controller.cpp @@ -27,7 +27,7 @@ void FloatParameterController::didBecomeFirstResponder() { selColumn = selColumn >= numberOfColumns() ? numberOfColumns() - 1 : selColumn; selectCellAtLocation(selColumn, selRow); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } void FloatParameterController::viewWillAppear() { diff --git a/apps/shared/function_app.h b/apps/shared/function_app.h index 932ed30dd..797e41647 100644 --- a/apps/shared/function_app.h +++ b/apps/shared/function_app.h @@ -32,7 +32,7 @@ public: Poincare::Preferences::AngleUnit m_angleUnitVersion; }; static FunctionApp * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } virtual ~FunctionApp() = default; virtual FunctionStore * functionStore() { return static_cast(snapshot())->functionStore(); } diff --git a/apps/shared/function_curve_parameter_controller.cpp b/apps/shared/function_curve_parameter_controller.cpp index b401eb5de..d0a035e91 100644 --- a/apps/shared/function_curve_parameter_controller.cpp +++ b/apps/shared/function_curve_parameter_controller.cpp @@ -19,7 +19,7 @@ void FunctionCurveParameterController::didBecomeFirstResponder() { if (selectedRow() < 0) { selectCellAtLocation(0, 0); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool FunctionCurveParameterController::handleGotoSelection() { diff --git a/apps/shared/function_graph_controller.cpp b/apps/shared/function_graph_controller.cpp index a6312dd66..0b1c19a8b 100644 --- a/apps/shared/function_graph_controller.cpp +++ b/apps/shared/function_graph_controller.cpp @@ -31,7 +31,7 @@ void FunctionGraphController::didBecomeFirstResponder() { if (curveView()->isMainViewSelected()) { bannerView()->abscissaValue()->setParentResponder(this); bannerView()->abscissaValue()->setDelegates(textFieldDelegateApp(), this); - app()->setFirstResponder(bannerView()->abscissaValue()); + Container::activeApp()->setFirstResponder(bannerView()->abscissaValue()); } else { InteractiveCurveViewController::didBecomeFirstResponder(); } diff --git a/apps/shared/function_list_controller.cpp b/apps/shared/function_list_controller.cpp index e6dc2d9fb..1913a216e 100644 --- a/apps/shared/function_list_controller.cpp +++ b/apps/shared/function_list_controller.cpp @@ -154,7 +154,7 @@ void FunctionListController::didBecomeFirstResponder() { selectCellAtLocation(selectedColumn(), numberOfRows()-1); } footer()->setSelectedButton(-1); - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); } bool FunctionListController::handleEvent(Ion::Events::Event event) { @@ -162,12 +162,12 @@ bool FunctionListController::handleEvent(Ion::Events::Event event) { if (selectedRow() == -1) { footer()->setSelectedButton(-1); selectableTableView()->selectCellAtLocation(1, numberOfRows()-1); - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); return true; } selectableTableView()->deselectTable(); assert(selectedRow() == -1); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } if (event == Ion::Events::Down) { diff --git a/apps/shared/initialisation_parameter_controller.cpp b/apps/shared/initialisation_parameter_controller.cpp index 9c7cbe4fe..6e8fa00ce 100644 --- a/apps/shared/initialisation_parameter_controller.cpp +++ b/apps/shared/initialisation_parameter_controller.cpp @@ -29,7 +29,7 @@ if (event == Ion::Events::OK || event == Ion::Events::EXE) { void InitialisationParameterController::didBecomeFirstResponder() { m_selectableTableView.selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } int InitialisationParameterController::numberOfRows() { diff --git a/apps/shared/input_event_handler_delegate.h b/apps/shared/input_event_handler_delegate.h index 902cbdee0..07dbdaa2d 100644 --- a/apps/shared/input_event_handler_delegate.h +++ b/apps/shared/input_event_handler_delegate.h @@ -11,7 +11,7 @@ public: NestedMenuController * variableBoxForInputEventHandler(InputEventHandler * textInput) override { return inputEventHandlerDelegateApp()->variableBoxForInputEventHandler(textInput); } private: InputEventHandlerDelegateApp * inputEventHandlerDelegateApp() const { - return static_cast(::app()); + return static_cast(Container::activeApp()); } }; diff --git a/apps/shared/interactive_curve_view_controller.cpp b/apps/shared/interactive_curve_view_controller.cpp index c7ba92d93..74ea2fd6f 100644 --- a/apps/shared/interactive_curve_view_controller.cpp +++ b/apps/shared/interactive_curve_view_controller.cpp @@ -78,14 +78,14 @@ bool InteractiveCurveViewController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Down) { header()->setSelectedButton(-1); curveView()->selectMainView(true); - app()->setFirstResponder(this); + Container::activeApp()->setFirstResponder(this); reloadBannerView(); curveView()->reload(); return true; } if (event == Ion::Events::Up) { header()->setSelectedButton(-1); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } return false; diff --git a/apps/shared/interval_parameter_controller.cpp b/apps/shared/interval_parameter_controller.cpp index c53922fc2..019afd3d0 100644 --- a/apps/shared/interval_parameter_controller.cpp +++ b/apps/shared/interval_parameter_controller.cpp @@ -44,14 +44,14 @@ double IntervalParameterController::parameterAtIndex(int index) { bool IntervalParameterController::setParameterAtIndex(int parameterIndex, double f) { if (f <= 0.0f && parameterIndex == 2) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } double start = parameterIndex == 0 ? f : m_interval->start(); double end = parameterIndex == 1 ? f : m_interval->end(); if (start > end) { if (parameterIndex == 1) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } double g = f+1.0; diff --git a/apps/shared/language_controller.cpp b/apps/shared/language_controller.cpp index ee0e04084..68e047616 100644 --- a/apps/shared/language_controller.cpp +++ b/apps/shared/language_controller.cpp @@ -31,7 +31,7 @@ View * LanguageController::view() { } void LanguageController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } void LanguageController::viewWillAppear() { diff --git a/apps/shared/layout_field_delegate.h b/apps/shared/layout_field_delegate.h index fb30f6afd..042d7dfe2 100644 --- a/apps/shared/layout_field_delegate.h +++ b/apps/shared/layout_field_delegate.h @@ -14,7 +14,7 @@ public: void layoutFieldDidChangeSize(LayoutField * layoutField) override; protected: ExpressionFieldDelegateApp * expressionFieldDelegateApp() const { - return static_cast(::app()); + return static_cast(Container::activeApp()); } }; diff --git a/apps/shared/list_parameter_controller.cpp b/apps/shared/list_parameter_controller.cpp index 479d13741..27c11745f 100644 --- a/apps/shared/list_parameter_controller.cpp +++ b/apps/shared/list_parameter_controller.cpp @@ -21,7 +21,7 @@ const char * ListParameterController::title() { } void ListParameterController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } void ListParameterController::viewWillAppear() { diff --git a/apps/shared/message_controller.cpp b/apps/shared/message_controller.cpp index cab2151c5..6cff6e98b 100644 --- a/apps/shared/message_controller.cpp +++ b/apps/shared/message_controller.cpp @@ -8,7 +8,7 @@ MessageController::MessageController(I18n::Message * messages, KDColor * colors, bool MessageController::handleEvent(Ion::Events::Event event) { if (event != Ion::Events::Back && event != Ion::Events::OnOff && event != Ion::Events::Home) { - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } return false; diff --git a/apps/shared/scrollable_exact_approximate_expressions_cell.cpp b/apps/shared/scrollable_exact_approximate_expressions_cell.cpp index cb88f06b1..a3f912ea2 100644 --- a/apps/shared/scrollable_exact_approximate_expressions_cell.cpp +++ b/apps/shared/scrollable_exact_approximate_expressions_cell.cpp @@ -32,7 +32,7 @@ void ScrollableExactApproximateExpressionsCell::reloadScroll() { void ScrollableExactApproximateExpressionsCell::didBecomeFirstResponder() { m_view.setSelectedSubviewPosition(ScrollableExactApproximateExpressionsView::SubviewPosition::Left); - app()->setFirstResponder(&m_view); + Container::activeApp()->setFirstResponder(&m_view); } int ScrollableExactApproximateExpressionsCell::numberOfSubviews() const { diff --git a/apps/shared/store_controller.cpp b/apps/shared/store_controller.cpp index 168d0805e..02d57849e 100644 --- a/apps/shared/store_controller.cpp +++ b/apps/shared/store_controller.cpp @@ -36,7 +36,7 @@ void StoreController::ContentView::displayFormulaInput(bool display) { } void StoreController::ContentView::didBecomeFirstResponder() { - app()->setFirstResponder(m_displayFormulaInputView ? static_cast(&m_formulaInputView) : static_cast(&m_dataView)); + Container::activeApp()->setFirstResponder(m_displayFormulaInputView ? static_cast(&m_formulaInputView) : static_cast(&m_dataView)); } View * StoreController::ContentView::subviewAtIndex(int index) { @@ -86,12 +86,12 @@ bool StoreController::textFieldDidFinishEditing(TextField * textField, const cha // Handle formula input Expression expression = Expression::Parse(textField->text()); if (expression.isUninitialized()) { - app()->displayWarning(I18n::Message::SyntaxError); + Container::activeApp()->displayWarning(I18n::Message::SyntaxError); return false; } m_contentView.displayFormulaInput(false); if (fillColumnWithFormula(expression)) { - app()->setFirstResponder(&m_contentView); + Container::activeApp()->setFirstResponder(&m_contentView); } return true; } @@ -107,7 +107,7 @@ bool StoreController::textFieldDidFinishEditing(TextField * textField, const cha bool StoreController::textFieldDidAbortEditing(TextField * textField) { if (textField == m_contentView.formulaInputView()->textField()) { m_contentView.displayFormulaInput(false); - app()->setFirstResponder(&m_contentView); + Container::activeApp()->setFirstResponder(&m_contentView); return true; } return EditableCellTableViewController::textFieldDidAbortEditing(textField); @@ -185,7 +185,7 @@ bool StoreController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Up) { selectableTableView()->deselectTable(); assert(selectedRow() == -1); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } assert(selectedColumn() >= 0 && selectedColumn() < numberOfColumns()); @@ -213,7 +213,7 @@ void StoreController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); } EditableCellTableViewController::didBecomeFirstResponder(); - app()->setFirstResponder(&m_contentView); + Container::activeApp()->setFirstResponder(&m_contentView); } Responder * StoreController::tabController() const { @@ -289,7 +289,7 @@ bool StoreController::privateFillColumnWithFormula(Expression formula, Expressio // Compute the new value using the formula double evaluation = PoincareHelpers::ApproximateToScalar(formula, *store); if (std::isnan(evaluation) || std::isinf(evaluation)) { - app()->displayWarning(I18n::Message::DataNotSuitable); + Container::activeApp()->displayWarning(I18n::Message::DataNotSuitable); return false; } } diff --git a/apps/shared/store_parameter_controller.cpp b/apps/shared/store_parameter_controller.cpp index 4a0362ead..752cdad26 100644 --- a/apps/shared/store_parameter_controller.cpp +++ b/apps/shared/store_parameter_controller.cpp @@ -26,7 +26,7 @@ const char * StoreParameterController::title() { void StoreParameterController::didBecomeFirstResponder() { selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool StoreParameterController::handleEvent(Ion::Events::Event event) { diff --git a/apps/shared/sum_graph_controller.cpp b/apps/shared/sum_graph_controller.cpp index b08914e53..948a9cde3 100644 --- a/apps/shared/sum_graph_controller.cpp +++ b/apps/shared/sum_graph_controller.cpp @@ -44,14 +44,14 @@ void SumGraphController::viewWillAppear() { void SumGraphController::didEnterResponderChain(Responder * previousFirstResponder) { - app()->setFirstResponder(m_legendView.textField()); + Container::activeApp()->setFirstResponder(m_legendView.textField()); } bool SumGraphController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Back && m_step != Step::FirstParameter) { m_step = (Step)((int)m_step-1); if (m_step == Step::SecondParameter) { - app()->setFirstResponder(m_legendView.textField()); + Container::activeApp()->setFirstResponder(m_legendView.textField()); m_graphView->setAreaHighlightColor(false); m_graphView->setCursorView(&m_cursorView); } @@ -95,7 +95,7 @@ bool SumGraphController::textFieldDidFinishEditing(TextField * textField, const return false; } if ((m_step == Step::SecondParameter && floatBody < m_startSum) || !moveCursorHorizontallyToPosition(floatBody)) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } return handleEnter(); @@ -125,7 +125,7 @@ bool SumGraphController::handleEnter() { } else { m_graphView->setAreaHighlightColor(true); m_graphView->setCursorView(nullptr); - app()->setFirstResponder(this); + Container::activeApp()->setFirstResponder(this); } m_step = (Step)((int)m_step+1); reloadBannerView(); diff --git a/apps/shared/tab_table_controller.cpp b/apps/shared/tab_table_controller.cpp index e32cfadea..a669e001d 100644 --- a/apps/shared/tab_table_controller.cpp +++ b/apps/shared/tab_table_controller.cpp @@ -8,7 +8,7 @@ TabTableController::TabTableController(Responder * parentResponder) : } void TabTableController::didBecomeFirstResponder() { - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); } void TabTableController::viewWillAppear() { diff --git a/apps/shared/text_field_delegate.h b/apps/shared/text_field_delegate.h index a434c59f2..bc148e95a 100644 --- a/apps/shared/text_field_delegate.h +++ b/apps/shared/text_field_delegate.h @@ -11,7 +11,7 @@ public: bool textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) override; protected: TextFieldDelegateApp * textFieldDelegateApp() const { - return static_cast(::app()); + return static_cast(Container::activeApp()); } }; diff --git a/apps/shared/values_controller.cpp b/apps/shared/values_controller.cpp index d2a1f7691..a260eda64 100644 --- a/apps/shared/values_controller.cpp +++ b/apps/shared/values_controller.cpp @@ -79,7 +79,7 @@ bool ValuesController::handleEvent(Ion::Events::Event event) { if (selectedRow() == -1) { header()->setSelectedButton(-1); selectableTableView()->selectCellAtLocation(0,0); - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); return true; } return false; @@ -88,7 +88,7 @@ bool ValuesController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Up) { if (selectedRow() == -1) { header()->setSelectedButton(-1); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } selectableTableView()->deselectTable(); diff --git a/apps/shared/values_function_parameter_controller.cpp b/apps/shared/values_function_parameter_controller.cpp index 4f68ad405..6c6c6ac8a 100644 --- a/apps/shared/values_function_parameter_controller.cpp +++ b/apps/shared/values_function_parameter_controller.cpp @@ -15,7 +15,7 @@ void ValuesFunctionParameterController::viewWillAppear() { void ValuesFunctionParameterController::didBecomeFirstResponder() { m_selectableTableView.reloadData(); selectCellAtLocation(0, 0); - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } } diff --git a/apps/shared/values_parameter_controller.cpp b/apps/shared/values_parameter_controller.cpp index 058b35996..88b1d2fe1 100644 --- a/apps/shared/values_parameter_controller.cpp +++ b/apps/shared/values_parameter_controller.cpp @@ -38,7 +38,7 @@ void ValuesParameterController::didBecomeFirstResponder() { if (selectedRow() < 0) { selectCellAtLocation(0, 0); } - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool ValuesParameterController::handleEvent(Ion::Events::Event event) { diff --git a/apps/solver/app.h b/apps/solver/app.h index cf62f7b5b..9214b680a 100644 --- a/apps/solver/app.h +++ b/apps/solver/app.h @@ -46,7 +46,7 @@ private: }; inline App * app() { - return static_cast(::app()); + return static_cast(Container::activeApp()); } } diff --git a/apps/solver/equation_list_view.cpp b/apps/solver/equation_list_view.cpp index a9fb8ab2c..7253374cd 100644 --- a/apps/solver/equation_list_view.cpp +++ b/apps/solver/equation_list_view.cpp @@ -44,7 +44,7 @@ View * EquationListView::subviewAtIndex(int index) { } void EquationListView::didBecomeFirstResponder() { - app()->setFirstResponder(&m_listView); + Container::activeApp()->setFirstResponder(&m_listView); } void EquationListView::layoutSubviews() { diff --git a/apps/solver/equation_models_parameter_controller.cpp b/apps/solver/equation_models_parameter_controller.cpp index 67382c589..f8c9339a3 100644 --- a/apps/solver/equation_models_parameter_controller.cpp +++ b/apps/solver/equation_models_parameter_controller.cpp @@ -42,7 +42,7 @@ void EquationModelsParameterController::viewWillAppear() { } void EquationModelsParameterController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_selectableTableView); + Container::activeApp()->setFirstResponder(&m_selectableTableView); } bool EquationModelsParameterController::handleEvent(Ion::Events::Event event) { @@ -53,7 +53,7 @@ bool EquationModelsParameterController::handleEvent(Ion::Events::Event event) { } assert(error == Ion::Storage::Record::ErrorStatus::None); m_listController->editSelectedRecordWithText(k_models[selectedRow()]); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); m_listController->editExpression(Ion::Events::OK); return true; } diff --git a/apps/solver/list_controller.cpp b/apps/solver/list_controller.cpp index 3125c9188..4efaf10ae 100644 --- a/apps/solver/list_controller.cpp +++ b/apps/solver/list_controller.cpp @@ -81,7 +81,7 @@ bool ListController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Up && selectedRow() == -1) { footer()->setSelectedButton(-1); selectableTableView()->selectCellAtLocation(0, numberOfRows()-1); - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); return true; } if (event == Ion::Events::Down) { @@ -105,7 +105,7 @@ void ListController::didBecomeFirstResponder() { selectCellAtLocation(selectedColumn(), numberOfRows()-1); } footer()->setSelectedButton(-1); - app()->setFirstResponder(selectableTableView()); + Container::activeApp()->setFirstResponder(selectableTableView()); } void ListController::didEnterResponderChain(Responder * previousFirstResponder) { @@ -132,7 +132,7 @@ bool ListController::textFieldDidReceiveEvent(TextField * textField, Ion::Events textField->handleEvent(Ion::Events::ShiftRight); textField->handleEventWithText("=0"); if (!textRepresentsAnEquality(textField->text())) { - app()->displayWarning(I18n::Message::RequireEquation); + Container::activeApp()->displayWarning(I18n::Message::RequireEquation); return true; } } @@ -149,7 +149,7 @@ bool ListController::layoutFieldDidReceiveEvent(LayoutField * layoutField, Ion:: layoutField->handleEvent(Ion::Events::ShiftRight); layoutField->handleEventWithText("=0"); if (!layoutRepresentsAnEquality(layoutField->layout())) { - app()->displayWarning(I18n::Message::RequireEquation); + Container::activeApp()->displayWarning(I18n::Message::RequireEquation); return true; } } @@ -172,22 +172,22 @@ bool ListController::layoutFieldDidFinishEditing(LayoutField * layoutField, Poin void ListController::resolveEquations() { if (m_equationStore->numberOfDefinedModels() == 0) { - app()->displayWarning(I18n::Message::EnterEquation); + Container::activeApp()->displayWarning(I18n::Message::EnterEquation); return; } EquationStore::Error e = m_equationStore->exactSolve(textFieldDelegateApp()->localContext()); switch (e) { case EquationStore::Error::EquationUndefined: - app()->displayWarning(I18n::Message::UndefinedEquation); + Container::activeApp()->displayWarning(I18n::Message::UndefinedEquation); return; case EquationStore::Error::EquationUnreal: - app()->displayWarning(I18n::Message::UnrealEquation); + Container::activeApp()->displayWarning(I18n::Message::UnrealEquation); return; case EquationStore::Error::TooManyVariables: - app()->displayWarning(I18n::Message::TooManyVariables); + Container::activeApp()->displayWarning(I18n::Message::TooManyVariables); return; case EquationStore::Error::NonLinearSystem: - app()->displayWarning(I18n::Message::NonLinearSystem); + Container::activeApp()->displayWarning(I18n::Message::NonLinearSystem); return; case EquationStore::Error::RequireApproximateSolution: { @@ -209,7 +209,7 @@ void ListController::reloadButtonMessage() { } void ListController::addEmptyModel() { - app()->displayModalViewController(&m_modelsStackController, 0.f, 0.f, Metric::CommonTopMargin, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin); + Container::activeApp()->displayModalViewController(&m_modelsStackController, 0.f, 0.f, Metric::CommonTopMargin, Metric::CommonRightMargin, 0, Metric::CommonLeftMargin); } bool ListController::removeModelRow(Ion::Storage::Record record) { diff --git a/apps/solver/solutions_controller.cpp b/apps/solver/solutions_controller.cpp index 2da207c87..6429f3c6d 100644 --- a/apps/solver/solutions_controller.cpp +++ b/apps/solver/solutions_controller.cpp @@ -284,7 +284,7 @@ int SolutionsController::typeAtLocation(int i, int j) { } void SolutionsController::didBecomeFirstResponder() { - app()->setFirstResponder(m_contentView.selectableTableView()); + Container::activeApp()->setFirstResponder(m_contentView.selectableTableView()); } } diff --git a/apps/statistics/calculation_controller.cpp b/apps/statistics/calculation_controller.cpp index 1524d61c8..718d7f475 100644 --- a/apps/statistics/calculation_controller.cpp +++ b/apps/statistics/calculation_controller.cpp @@ -167,7 +167,7 @@ const char * CalculationController::title() { bool CalculationController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::Up) { selectableTableView()->deselectTable(); - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); return true; } return false; diff --git a/apps/statistics/histogram_parameter_controller.cpp b/apps/statistics/histogram_parameter_controller.cpp index 8dde871a4..6c4d7a274 100644 --- a/apps/statistics/histogram_parameter_controller.cpp +++ b/apps/statistics/histogram_parameter_controller.cpp @@ -43,7 +43,7 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl if (parameterIndex == 0) { // The bar width cannot be negative if (f <= 0.0f) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } @@ -52,7 +52,7 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl if (m_store->firstDrawnBarAbscissa() <= m_store->maxValue(i)+f) { break; } else if (i == DoublePairStore::k_numberOfSeries - 1) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } } @@ -67,7 +67,7 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl } } if (maxNewNumberOfBars > Store::k_maxNumberOfBars) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } @@ -84,7 +84,7 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl } } if (maxNewNumberOfBars > Store::k_maxNumberOfBars) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } // There should be at least one value in the drawn bin @@ -92,7 +92,7 @@ bool HistogramParameterController::setParameterAtIndex(int parameterIndex, doubl if (f <= m_store->maxValue(i)+m_store->barWidth()) { break; } else if (i == DoublePairStore::k_numberOfSeries - 1) { - app()->displayWarning(I18n::Message::ForbiddenValue); + Container::activeApp()->displayWarning(I18n::Message::ForbiddenValue); return false; } } diff --git a/apps/statistics/multiple_data_view_controller.cpp b/apps/statistics/multiple_data_view_controller.cpp index 73ed94fe9..c3c9f7d5c 100644 --- a/apps/statistics/multiple_data_view_controller.cpp +++ b/apps/statistics/multiple_data_view_controller.cpp @@ -58,7 +58,7 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) { multipleDataView()->selectDataView(*m_selectedSeriesIndex); highlightSelection(); } else { - app()->setFirstResponder(tabController()); + Container::activeApp()->setFirstResponder(tabController()); } reloadBannerView(); return true; diff --git a/apps/variable_box_controller.cpp b/apps/variable_box_controller.cpp index 13c790278..ff5ed82fb 100644 --- a/apps/variable_box_controller.cpp +++ b/apps/variable_box_controller.cpp @@ -211,7 +211,7 @@ bool VariableBoxController::selectLeaf(int selectedRow) { // Handle the text sender()->handleEventWithText(nameToHandle); - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; } diff --git a/escher/include/escher/container.h b/escher/include/escher/container.h index 773191188..0070adb02 100644 --- a/escher/include/escher/container.h +++ b/escher/include/escher/container.h @@ -42,8 +42,4 @@ private: virtual Timer * containerTimerAtIndex(int i); }; -inline App * app() { - return Container::activeApp(); -} - #endif diff --git a/escher/src/alternate_empty_view_controller.cpp b/escher/src/alternate_empty_view_controller.cpp index 75314077e..9dc3c33d4 100644 --- a/escher/src/alternate_empty_view_controller.cpp +++ b/escher/src/alternate_empty_view_controller.cpp @@ -67,7 +67,7 @@ bool AlternateEmptyViewController::handleEvent(Ion::Events::Event event) { void AlternateEmptyViewController::didBecomeFirstResponder() { if (!m_contentView.alternateEmptyViewDelegate()->isEmpty()) { - app()->setFirstResponder(m_contentView.mainViewController()); + Container::activeApp()->setFirstResponder(m_contentView.mainViewController()); } } diff --git a/escher/src/bank_view_controller.cpp b/escher/src/bank_view_controller.cpp index 71f26468b..0abe434d2 100644 --- a/escher/src/bank_view_controller.cpp +++ b/escher/src/bank_view_controller.cpp @@ -14,14 +14,14 @@ void BankViewController::setActiveIndex(int i) { } ViewController * upcomingVC = childAtIndex(i); upcomingVC->viewWillAppear(); - app()->setFirstResponder(upcomingVC); + Container::activeApp()->setFirstResponder(upcomingVC); childAtIndex(m_activeIndex)->viewDidDisappear(); m_activeIndex = i; m_view.setSubview(upcomingVC->view()); } void BankViewController::didEnterResponderChain(Responder * previousResponder) { - app()->setFirstResponder(activeViewController()); + Container::activeApp()->setFirstResponder(activeViewController()); } void BankViewController::initView() { diff --git a/escher/src/button_row_controller.cpp b/escher/src/button_row_controller.cpp index 6139c08a2..479d1c140 100644 --- a/escher/src/button_row_controller.cpp +++ b/escher/src/button_row_controller.cpp @@ -154,7 +154,7 @@ bool ButtonRowController::ContentView::setSelectedButton(int selectedButton) { if (m_selectedButton >= 0) { Button * button = buttonAtIndex(selectedButton); button->setHighlighted(true); - app()->setFirstResponder(button); + Container::activeApp()->setFirstResponder(button); return true; } return false; @@ -171,7 +171,7 @@ const char * ButtonRowController::title() { } void ButtonRowController::didBecomeFirstResponder(){ - app()->setFirstResponder(m_contentView.mainViewController()); + Container::activeApp()->setFirstResponder(m_contentView.mainViewController()); } int ButtonRowController::selectedButton() { diff --git a/escher/src/editable_text_cell.cpp b/escher/src/editable_text_cell.cpp index b03d6bed7..9365b40e6 100644 --- a/escher/src/editable_text_cell.cpp +++ b/escher/src/editable_text_cell.cpp @@ -51,7 +51,7 @@ void EditableTextCell::layoutSubviews() { } void EditableTextCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); } KDSize EditableTextCell::minimalSizeForOptimalDisplay() const { diff --git a/escher/src/even_odd_editable_text_cell.cpp b/escher/src/even_odd_editable_text_cell.cpp index 00473c504..cabf66504 100644 --- a/escher/src/even_odd_editable_text_cell.cpp +++ b/escher/src/even_odd_editable_text_cell.cpp @@ -37,5 +37,5 @@ void EvenOddEditableTextCell::layoutSubviews() { } void EvenOddEditableTextCell::didBecomeFirstResponder() { - app()->setFirstResponder(&m_editableCell); + Container::activeApp()->setFirstResponder(&m_editableCell); } diff --git a/escher/src/input_event_handler.cpp b/escher/src/input_event_handler.cpp index 8d197fb39..ee18a4025 100644 --- a/escher/src/input_event_handler.cpp +++ b/escher/src/input_event_handler.cpp @@ -12,7 +12,7 @@ bool InputEventHandler::handleBoxEvent(Ion::Events::Event event) { } if (box) { box->setSender(this); - app()->displayModalViewController(box, 0.f, 0.f, Metric::PopUpTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); + Container::activeApp()->displayModalViewController(box, 0.f, 0.f, Metric::PopUpTopMargin, Metric::PopUpLeftMargin, 0, Metric::PopUpRightMargin); return true; } return false; diff --git a/escher/src/input_view_controller.cpp b/escher/src/input_view_controller.cpp index 8aeccdf25..eb46f7217 100644 --- a/escher/src/input_view_controller.cpp +++ b/escher/src/input_view_controller.cpp @@ -11,7 +11,7 @@ InputViewController::ExpressionFieldController::ExpressionFieldController(Respon } void InputViewController::ExpressionFieldController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_expressionField); + Container::activeApp()->setFirstResponder(&m_expressionField); } InputViewController::InputViewController(Responder * parentResponder, ViewController * child, InputEventHandlerDelegate * inputEventHandlerDelegate, TextFieldDelegate * textFieldDelegate, LayoutFieldDelegate * layoutFieldDelegate) : diff --git a/escher/src/message_table_cell_with_editable_text.cpp b/escher/src/message_table_cell_with_editable_text.cpp index 401ab0084..f64c082b8 100644 --- a/escher/src/message_table_cell_with_editable_text.cpp +++ b/escher/src/message_table_cell_with_editable_text.cpp @@ -19,7 +19,7 @@ const char * MessageTableCellWithEditableText::editedText() const { } void MessageTableCellWithEditableText::didBecomeFirstResponder() { - app()->setFirstResponder(&m_textField); + Container::activeApp()->setFirstResponder(&m_textField); } bool MessageTableCellWithEditableText::isEditing() { diff --git a/escher/src/modal_view_controller.cpp b/escher/src/modal_view_controller.cpp index 893abd648..bbba5cceb 100644 --- a/escher/src/modal_view_controller.cpp +++ b/escher/src/modal_view_controller.cpp @@ -117,11 +117,11 @@ void ModalViewController::displayModalViewController(ViewController * vc, float KDCoordinate topMargin, KDCoordinate leftMargin, KDCoordinate bottomMargin, KDCoordinate rightMargin) { m_currentModalViewController = vc; vc->setParentResponder(this); - m_previousResponder = app()->firstResponder(); + m_previousResponder = Container::activeApp()->firstResponder(); m_currentModalViewController->initView(); m_contentView.presentModalView(vc->view(), verticalAlignment, horizontalAlignment, topMargin, leftMargin, bottomMargin, rightMargin); m_currentModalViewController->viewWillAppear(); - app()->setFirstResponder(vc); + Container::activeApp()->setFirstResponder(vc); } void ModalViewController::reloadModalViewController() { @@ -130,13 +130,13 @@ void ModalViewController::reloadModalViewController() { void ModalViewController::dismissModalViewController() { m_currentModalViewController->viewDidDisappear(); - app()->setFirstResponder(m_previousResponder); + Container::activeApp()->setFirstResponder(m_previousResponder); m_contentView.dismissModalView(); m_currentModalViewController = nullptr; } void ModalViewController::didBecomeFirstResponder() { - app()->setFirstResponder(m_regularViewController); + Container::activeApp()->setFirstResponder(m_regularViewController); } bool ModalViewController::handleEvent(Ion::Events::Event event) { diff --git a/escher/src/nested_menu_controller.cpp b/escher/src/nested_menu_controller.cpp index afac10050..2ba845a67 100644 --- a/escher/src/nested_menu_controller.cpp +++ b/escher/src/nested_menu_controller.cpp @@ -79,7 +79,7 @@ View * NestedMenuController::ListController::view() { void NestedMenuController::ListController::didBecomeFirstResponder() { m_selectableTableView->reloadData(); m_selectableTableView->selectCellAtLocation(0, m_firstSelectedRow); - app()->setFirstResponder(m_selectableTableView); + Container::activeApp()->setFirstResponder(m_selectableTableView); } void NestedMenuController::ListController::setFirstSelectedRow(int firstSelectedRow) { @@ -103,7 +103,7 @@ bool NestedMenuController::handleEvent(Ion::Events::Event event) { } void NestedMenuController::didBecomeFirstResponder() { - app()->setFirstResponder(&m_listController); + Container::activeApp()->setFirstResponder(&m_listController); } void NestedMenuController::viewWillAppear() { @@ -155,7 +155,7 @@ bool NestedMenuController::handleEventForRow(Ion::Events::Event event, int rowIn bool NestedMenuController::selectSubMenu(int selectedRow) { m_stack.push(selectedRow, m_selectableTableView.contentOffset().y()); m_listController.setFirstSelectedRow(0); - app()->setFirstResponder(&m_listController); + Container::activeApp()->setFirstResponder(&m_listController); return true; } @@ -165,6 +165,6 @@ bool NestedMenuController::returnToPreviousMenu() { m_listController.setFirstSelectedRow(state.selectedRow()); KDPoint scroll = m_selectableTableView.contentOffset(); m_selectableTableView.setContentOffset(KDPoint(scroll.x(), state.verticalScroll())); - app()->setFirstResponder(&m_listController); + Container::activeApp()->setFirstResponder(&m_listController); return true; } diff --git a/escher/src/selectable_table_view.cpp b/escher/src/selectable_table_view.cpp index d5c6005b8..24169c068 100644 --- a/escher/src/selectable_table_view.cpp +++ b/escher/src/selectable_table_view.cpp @@ -104,11 +104,7 @@ bool SelectableTableView::selectCellAtLocation(int i, int j, bool setFirstRespon if (cell) { // Update first responder if ((i != previousX || j != previousY) && setFirstResponder) { - if (cell->responder()) { - app()->setFirstResponder(cell->responder()); - } else { - app()->setFirstResponder(this); - } + Container::activeApp()->setFirstResponder(cell->responder() ? cell->responder() : this); } } diff --git a/escher/src/stack_view_controller.cpp b/escher/src/stack_view_controller.cpp index 0facbf629..f19ee1261 100644 --- a/escher/src/stack_view_controller.cpp +++ b/escher/src/stack_view_controller.cpp @@ -137,12 +137,12 @@ void StackViewController::setupActiveViewController() { m_view.setContentView(vc->view()); vc->viewWillAppear(); vc->setParentResponder(this); - app()->setFirstResponder(vc); + Container::activeApp()->setFirstResponder(vc); } void StackViewController::didBecomeFirstResponder() { ViewController * vc = m_childrenFrame[m_numberOfChildren-1].viewController(); - app()->setFirstResponder(vc); + Container::activeApp()->setFirstResponder(vc); } bool StackViewController::handleEvent(Ion::Events::Event event) { diff --git a/escher/src/tab_view_controller.cpp b/escher/src/tab_view_controller.cpp index 7c09780d2..f7ad3c48d 100644 --- a/escher/src/tab_view_controller.cpp +++ b/escher/src/tab_view_controller.cpp @@ -75,16 +75,14 @@ int TabViewController::activeTab() const { } bool TabViewController::handleEvent(Ion::Events::Event event) { - if (event == Ion::Events::Back) { - if (app()->firstResponder() != this) { - app()->setFirstResponder(this); + App * app = Container::activeApp(); + if (app->firstResponder() != this) { + if (event == Ion::Events::Back) { + app->setFirstResponder(this); return true; } return false; } - if (app()->firstResponder() != this) { - return false; - } if (event == Ion::Events::Left) { if (m_dataSource->selectedTab() > 0) { setSelectedTab(m_dataSource->selectedTab()-1); @@ -116,7 +114,7 @@ void TabViewController::setActiveTab(int8_t i) { m_children[i]->viewWillAppear(); m_view.m_tabView.setActiveIndex(i); } - app()->setFirstResponder(activeVC); + Container::activeApp()->setFirstResponder(activeVC); if (i != m_dataSource->activeTab()) { m_children[m_dataSource->activeTab()]->viewDidDisappear(); m_dataSource->setActiveTab(i); @@ -132,7 +130,7 @@ void TabViewController::setSelectedTab(int8_t i) { } void TabViewController::didEnterResponderChain(Responder * previousResponder) { - app()->setFirstResponder(activeViewController()); + Container::activeApp()->setFirstResponder(activeViewController()); } void TabViewController::didBecomeFirstResponder() { diff --git a/escher/src/warning_controller.cpp b/escher/src/warning_controller.cpp index 1030d922d..07bc18f22 100644 --- a/escher/src/warning_controller.cpp +++ b/escher/src/warning_controller.cpp @@ -83,6 +83,6 @@ bool WarningController::handleEvent(Ion::Events::Event event) { if (event == Ion::Events::USBPlug || event == Ion::Events::USBEnumeration) { return false; } - app()->dismissModalViewController(); + Container::activeApp()->dismissModalViewController(); return true; }