From a5ced0a451380f54deb089300c791b3f57c2841f Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 3 Nov 2019 16:17:38 -0500 Subject: [PATCH 01/14] Change index refrences to labels and remove contributors and LED from base menu Co-Authored-By: null --- apps/settings/main_controller.cpp | 40 ++++++------------- apps/settings/main_controller_prompt_beta.cpp | 19 ++++----- apps/settings/main_controller_prompt_none.cpp | 19 ++++----- .../main_controller_prompt_update.cpp | 19 ++++----- 4 files changed, 43 insertions(+), 54 deletions(-) diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 22bd8ba47..1d4391ef4 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -67,19 +67,16 @@ bool MainController::handleEvent(Ion::Events::Event event) { } if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { GenericSubController * subController = nullptr; - int rowIndex = selectedRow(); - if (rowIndex == 1) { + if (model()->children(selectedRow())->label() == rowIndex == 1) { subController = &m_displayModeController; - } else if (rowIndex == 4 || rowIndex == 5) { + } else if (model()->children(selectedRow())->label() == I18n::Message::Brightness || model()->children(selectedRow())->label() == I18n::Message::Language) { assert(false); - } else if (rowIndex == 6) { + } else if (model()->children(selectedRow())->label() == I18n::Message::ExamMode) { subController = &m_examModeController; - } else if (rowIndex == 7 + hasPrompt()) { + } else if (model()->children(selectedRow())->label() == I18n::Message::About) { subController = &m_aboutController; - } else if (rowIndex == 9 + hasPrompt()) { + } else if (model()->children(selectedRow())->label() == I18n::Message::Accessibility) { subController = &m_accessibilityController; - } else if (rowIndex == 10 + hasPrompt()) { - subController = &m_contributorsController; } else { subController = &m_preferencesController; } @@ -143,18 +140,18 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { Preferences * preferences = Preferences::sharedPreferences(); MessageTableCell * myCell = (MessageTableCell *)cell; myCell->setMessage(model()->children(index)->label()); - if (index == 4) { + if (model()->children(selectedRow())->label() == I18n::Message::Brightness) { MessageTableCellWithGauge * myGaugeCell = (MessageTableCellWithGauge *)cell; GaugeView * myGauge = (GaugeView *)myGaugeCell->accessoryView(); myGauge->setLevel((float)globalPreferences->brightnessLevel()/(float)Ion::Backlight::MaxBrightness); return; } - if (index == 5) { + if (model()->children(selectedRow())->label() == I18n::Message::Language) { int index = (int)globalPreferences->language()-1; static_cast(cell)->setSubtitle(I18n::LanguageNames[index]); return; } - if (hasPrompt() && index == 7) { + if (hasPrompt() && (model()->children(selectedRow())->label() == I18n::Message::UpdatePopUp || model()->children(selectedRow())->label() == I18n::Message::BetaPopUp)) { MessageTableCellWithSwitch * mySwitchCell = (MessageTableCellWithSwitch *)cell; SwitchView * mySwitch = (SwitchView *)mySwitchCell->accessoryView(); mySwitch->setState(globalPreferences->showPopUp()); @@ -162,30 +159,19 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { } MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; int childIndex = -1; - switch (index) { - case 0: + switch (model()->children(selectedRow())->label()) { + case I18n::Message::AngleUnit: childIndex = (int)preferences->angleUnit(); break; - case 1: + case I18n::Message::DisplayMode: childIndex = (int)preferences->displayMode(); break; - case 2: + case I18n::Message::EditionMode: childIndex = (int)preferences->editionMode(); break; - case 3: + case I18n::Message::ComplexFormat: childIndex = (int)preferences->complexFormat(); break; - //after prompt - case 8: - if (!hasPrompt()) { - childIndex = (int)preferences->colorOfLED(); - } - break; - case 9: - if (hasPrompt()) { - childIndex = (int)preferences->colorOfLED(); - } - break; } I18n::Message message = childIndex >= 0 ? model()->children(index)->children(childIndex)->label() : I18n::Message::Default; myTextCell->setSubtitle(message); diff --git a/apps/settings/main_controller_prompt_beta.cpp b/apps/settings/main_controller_prompt_beta.cpp index df4c9f4aa..1fae0eeba 100644 --- a/apps/settings/main_controller_prompt_beta.cpp +++ b/apps/settings/main_controller_prompt_beta.cpp @@ -3,19 +3,22 @@ namespace Settings { +//sub-sub-menus +constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; +constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; + +//sub-menus constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)}; constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)}; constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; -constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::ActivateExamMode)}; #ifdef USERNAME -constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #else -constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif -constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -31,11 +34,9 @@ constexpr SettingsMessageTree s_modelMenu[] = #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), #endif - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; + SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 12); +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10); I18n::Message MainController::promptMessage() const { return I18n::Message::BetaPopUp; diff --git a/apps/settings/main_controller_prompt_none.cpp b/apps/settings/main_controller_prompt_none.cpp index 5c4874c3f..f82c5c057 100644 --- a/apps/settings/main_controller_prompt_none.cpp +++ b/apps/settings/main_controller_prompt_none.cpp @@ -4,19 +4,22 @@ namespace Settings { // TODO: factorize most parts of the final models with main_controller_prompt_beta and main_controller_prompt_update +//sub-sub-menus +constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; +constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; + +//sub-menus constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)}; constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)}; constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; -constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::ActivateExamMode)}; #ifdef USERNAME -constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #else -constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif -constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -31,11 +34,9 @@ constexpr SettingsMessageTree s_modelMenu[] = #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), #endif - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; + SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 11); +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 9); I18n::Message MainController::promptMessage() const { return I18n::Message::Default; diff --git a/apps/settings/main_controller_prompt_update.cpp b/apps/settings/main_controller_prompt_update.cpp index 466762df2..8fbe3efb0 100644 --- a/apps/settings/main_controller_prompt_update.cpp +++ b/apps/settings/main_controller_prompt_update.cpp @@ -3,19 +3,22 @@ namespace Settings { +//sub-sub-menus +constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; +constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; + +//sub-menus constexpr SettingsMessageTree s_modelAngleChildren[3] = {SettingsMessageTree(I18n::Message::Degrees), SettingsMessageTree(I18n::Message::Radian), SettingsMessageTree(I18n::Message::Gradians)}; constexpr SettingsMessageTree s_modelEditionModeChildren[2] = {SettingsMessageTree(I18n::Message::Edition2D), SettingsMessageTree(I18n::Message::EditionLinear)}; constexpr SettingsMessageTree s_modelFloatDisplayModeChildren[4] = {SettingsMessageTree(I18n::Message::Decimal), SettingsMessageTree(I18n::Message::Scientific), SettingsMessageTree(I18n::Message::Engineering), SettingsMessageTree(I18n::Message::SignificantFigures)}; constexpr SettingsMessageTree s_modelComplexFormatChildren[3] = {SettingsMessageTree(I18n::Message::Real), SettingsMessageTree(I18n::Message::Cartesian), SettingsMessageTree(I18n::Message::Polar)}; -constexpr SettingsMessageTree s_modelExamChildren[1] = {SettingsMessageTree(I18n::Message::ActivateExamMode)}; +constexpr SettingsMessageTree s_modelExamChildren[2] = {SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::ActivateExamMode)}; #ifdef USERNAME -constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18n::Message::Username), SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #else -constexpr SettingsMessageTree s_modelAboutChildren[4] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId)}; +constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif -constexpr SettingsMessageTree s_ledColorChildren[4] = {SettingsMessageTree(I18n::Message::ColorWhite), SettingsMessageTree(I18n::Message::ColorGreen), SettingsMessageTree(I18n::Message::ColorBlue), SettingsMessageTree(I18n::Message::ColorYellow)}; constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -31,11 +34,9 @@ constexpr SettingsMessageTree s_modelMenu[] = #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), #endif - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; + SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 12); +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10); I18n::Message MainController::promptMessage() const { return I18n::Message::UpdatePopUp; From 5454b3142b129d83c92e08a5a6d7f8bbb263fe8b Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 3 Nov 2019 16:32:03 -0500 Subject: [PATCH 02/14] Fix some row refrences and explain some parts of functions Co-Authored-By: null --- apps/settings/main_controller.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 1d4391ef4..0908ccd79 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -140,26 +140,30 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { Preferences * preferences = Preferences::sharedPreferences(); MessageTableCell * myCell = (MessageTableCell *)cell; myCell->setMessage(model()->children(index)->label()); - if (model()->children(selectedRow())->label() == I18n::Message::Brightness) { + + //switch to irregular cell types + if (model()->children(index)->label() == I18n::Message::Brightness) { MessageTableCellWithGauge * myGaugeCell = (MessageTableCellWithGauge *)cell; GaugeView * myGauge = (GaugeView *)myGaugeCell->accessoryView(); myGauge->setLevel((float)globalPreferences->brightnessLevel()/(float)Ion::Backlight::MaxBrightness); return; } - if (model()->children(selectedRow())->label() == I18n::Message::Language) { + if (model()->children(index)->label() == I18n::Message::Language) { int index = (int)globalPreferences->language()-1; static_cast(cell)->setSubtitle(I18n::LanguageNames[index]); return; } - if (hasPrompt() && (model()->children(selectedRow())->label() == I18n::Message::UpdatePopUp || model()->children(selectedRow())->label() == I18n::Message::BetaPopUp)) { + if (hasPrompt() && (model()->children(index)->label() == I18n::Message::UpdatePopUp || model()->children(index)->label() == I18n::Message::BetaPopUp)) { MessageTableCellWithSwitch * mySwitchCell = (MessageTableCellWithSwitch *)cell; SwitchView * mySwitch = (SwitchView *)mySwitchCell->accessoryView(); mySwitch->setState(globalPreferences->showPopUp()); return; } + + //add text for preferences MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; int childIndex = -1; - switch (model()->children(selectedRow())->label()) { + switch (model()->children(index)->label()) { case I18n::Message::AngleUnit: childIndex = (int)preferences->angleUnit(); break; From b5bbaefca53efd3245c0023ad6b859f4ce0e37fe Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 7 Nov 2019 20:36:53 -0500 Subject: [PATCH 03/14] Fix main_controller Co-Authored-By: null --- apps/settings/main_controller.cpp | 22 ++++++++++++---------- apps/settings/main_controller.h | 6 ++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 0908ccd79..eb3374855 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -17,8 +17,7 @@ MainController::MainController(Responder * parentResponder, InputEventHandlerDel m_languageController(this, 13), m_accessibilityController(this), m_examModeController(this), - m_aboutController(this), - m_contributorsController(this) + m_aboutController(this) { for (int i = 0; i < k_numberOfSimpleChevronCells; i++) { m_cells[i].setMessageFont(KDFont::LargeFont); @@ -67,7 +66,7 @@ bool MainController::handleEvent(Ion::Events::Event event) { } if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { GenericSubController * subController = nullptr; - if (model()->children(selectedRow())->label() == rowIndex == 1) { + if (model()->children(selectedRow())->label() == I18n::Message::DisplayMode) { subController = &m_displayModeController; } else if (model()->children(selectedRow())->label() == I18n::Message::Brightness || model()->children(selectedRow())->label() == I18n::Message::Language) { assert(false); @@ -126,10 +125,10 @@ int MainController::reusableCellCount(int type) { } int MainController::typeAtLocation(int i, int j) { - if (j == 4) { + if (model()->children(j)->label() == I18n::Message::Brightness) { return 1; } - if (hasPrompt() && j == 7) { + if (model()->children(j)->label() == I18n::Message::UpdatePopUp || model()->children(j)->label() == I18n::Message::BetaPopUp) { return 2; } return 0; @@ -139,21 +138,22 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { GlobalPreferences * globalPreferences = GlobalPreferences::sharedGlobalPreferences(); Preferences * preferences = Preferences::sharedPreferences(); MessageTableCell * myCell = (MessageTableCell *)cell; - myCell->setMessage(model()->children(index)->label()); + I18n::Message thisLabel = model()->children(index)->label(); + myCell->setMessage(thisLabel); //switch to irregular cell types - if (model()->children(index)->label() == I18n::Message::Brightness) { + if (thisLabel == I18n::Message::Brightness) { MessageTableCellWithGauge * myGaugeCell = (MessageTableCellWithGauge *)cell; GaugeView * myGauge = (GaugeView *)myGaugeCell->accessoryView(); myGauge->setLevel((float)globalPreferences->brightnessLevel()/(float)Ion::Backlight::MaxBrightness); return; } - if (model()->children(index)->label() == I18n::Message::Language) { + if (thisLabel == I18n::Message::Language) { int index = (int)globalPreferences->language()-1; static_cast(cell)->setSubtitle(I18n::LanguageNames[index]); return; } - if (hasPrompt() && (model()->children(index)->label() == I18n::Message::UpdatePopUp || model()->children(index)->label() == I18n::Message::BetaPopUp)) { + if (hasPrompt() && (thisLabel == I18n::Message::UpdatePopUp || thisLabel == I18n::Message::BetaPopUp)) { MessageTableCellWithSwitch * mySwitchCell = (MessageTableCellWithSwitch *)cell; SwitchView * mySwitch = (SwitchView *)mySwitchCell->accessoryView(); mySwitch->setState(globalPreferences->showPopUp()); @@ -163,7 +163,7 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { //add text for preferences MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; int childIndex = -1; - switch (model()->children(index)->label()) { + switch (thisLabel) { case I18n::Message::AngleUnit: childIndex = (int)preferences->angleUnit(); break; @@ -176,6 +176,8 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) { case I18n::Message::ComplexFormat: childIndex = (int)preferences->complexFormat(); break; + default: + break; } I18n::Message message = childIndex >= 0 ? model()->children(index)->children(childIndex)->label() : I18n::Message::Default; myTextCell->setSubtitle(message); diff --git a/apps/settings/main_controller.h b/apps/settings/main_controller.h index c5a75f9e9..3b7c42f33 100644 --- a/apps/settings/main_controller.h +++ b/apps/settings/main_controller.h @@ -9,7 +9,6 @@ #include "sub_menu/exam_mode_controller.h" #include "sub_menu/language_controller.h" #include "sub_menu/preferences_controller.h" -#include "sub_menu/contributors_controller.h" namespace Settings { @@ -28,12 +27,12 @@ public: int typeAtLocation(int i, int j) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; void viewWillAppear() override; -private: static const SettingsMessageTree * model(); +private: StackViewController * stackController() const; I18n::Message promptMessage() const; bool hasPrompt() const { return promptMessage() != I18n::Message::Default; } - constexpr static int k_numberOfSimpleChevronCells = 9; + constexpr static int k_numberOfSimpleChevronCells = 7; MessageTableCellWithChevronAndMessage m_cells[k_numberOfSimpleChevronCells]; MessageTableCellWithGauge m_brightnessCell; MessageTableCellWithSwitch m_popUpCell; @@ -44,7 +43,6 @@ private: AccessibilityController m_accessibilityController; ExamModeController m_examModeController; AboutController m_aboutController; - ContributorsController m_contributorsController; }; } From ae8157782e0b4b967f05fd52fb43dc012c1e143c Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 7 Nov 2019 20:37:53 -0500 Subject: [PATCH 04/14] Fix main_controller_prompt(s) Co-Authored-By: null --- apps/settings/main_controller_prompt_beta.cpp | 4 ++-- apps/settings/main_controller_prompt_none.cpp | 6 +++--- apps/settings/main_controller_prompt_update.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/settings/main_controller_prompt_beta.cpp b/apps/settings/main_controller_prompt_beta.cpp index 1fae0eeba..c7d5957e9 100644 --- a/apps/settings/main_controller_prompt_beta.cpp +++ b/apps/settings/main_controller_prompt_beta.cpp @@ -30,9 +30,9 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), SettingsMessageTree(I18n::Message::BetaPopUp), #ifdef USERNAME - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6), #else - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; diff --git a/apps/settings/main_controller_prompt_none.cpp b/apps/settings/main_controller_prompt_none.cpp index f82c5c057..c3b6cf497 100644 --- a/apps/settings/main_controller_prompt_none.cpp +++ b/apps/settings/main_controller_prompt_none.cpp @@ -28,11 +28,11 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3), SettingsMessageTree(I18n::Message::Brightness), SettingsMessageTree(I18n::Message::Language), - SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), + SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2), #ifdef USERNAME - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6), #else - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; diff --git a/apps/settings/main_controller_prompt_update.cpp b/apps/settings/main_controller_prompt_update.cpp index 8fbe3efb0..4cde38f3f 100644 --- a/apps/settings/main_controller_prompt_update.cpp +++ b/apps/settings/main_controller_prompt_update.cpp @@ -30,9 +30,9 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), SettingsMessageTree(I18n::Message::UpdatePopUp), #ifdef USERNAME - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6), #else - SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 4), + SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; From 32ac8cc70a5effbbc06529830972962b99261209 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 7 Nov 2019 23:57:05 -0500 Subject: [PATCH 05/14] about_controller unfinished commit Co-Authored-By: null --- apps/settings/sub_menu/about_controller.cpp | 33 ++++++++++----------- apps/settings/sub_menu/about_controller.h | 13 ++++++-- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 5ccf77c6e..7816d8f3d 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -1,11 +1,13 @@ #include "about_controller.h" #include #include +#include namespace Settings { AboutController::AboutController(Responder * parentResponder) : - GenericSubController(parentResponder) + GenericSubController(parentResponder), + m_contributorsController(this) { for (int i = 0; i < k_totalNumberOfCell; i++) { m_cells[i].setMessageFont(KDFont::LargeFont); @@ -15,18 +17,15 @@ AboutController::AboutController(Responder * parentResponder) : } bool AboutController::handleEvent(Ion::Events::Event event) { + I18n::Message childLabel = m_messageTreeModel->children(selectedRow())->label(); /* 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) { + if ((event == Ion::Events::Six || event == Ion::Events::LowerT || event == Ion::Events::UpperT) && m_messageTreeModel->label() == I18n::Message::About) { 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) { -#ifdef USERNAME - if (selectedRow() == 1) { -#else - if (selectedRow() == 0) { -#endif + if (selectedRow() == 0 + hasUsername()) { MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); if (strcmp(myCell->accessoryText(), Ion::patchLevel()) == 0) { myCell->setAccessoryText(Ion::softwareVersion()); @@ -35,11 +34,7 @@ bool AboutController::handleEvent(Ion::Events::Event event) { myCell->setAccessoryText(Ion::patchLevel()); return true; } -#ifdef USERNAME - if (selectedRow() == 2) { -#else - if (selectedRow() == 1) { -#endif + if (selectedRow() == 1 + hasUsername()) { MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); if (strcmp(myCell->accessoryText(), Ion::customSoftwareVersion()) == 0) { myCell->setAccessoryText("Public"); //Change for public/dev @@ -48,6 +43,13 @@ bool AboutController::handleEvent(Ion::Events::Event event) { myCell->setAccessoryText(Ion::customSoftwareVersion()); return true; } + if (childLabel == I18n::Message::Contributors) { + GenericSubController * subController = &m_contributorsController; + subController->setMessageTreeModel(MainController::model()->children(aboutIndex)->children(selectedRow())); + StackViewController * stack = stackController(); + stack->push(subController); + return true; + } return false; } return GenericSubController::handleEvent(event); @@ -66,6 +68,7 @@ int AboutController::reusableCellCount(int type) { void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { GenericSubController::willDisplayCellForIndex(cell, index); + if (MainController) MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; static const char * messages[] = { #ifdef USERNAME @@ -76,11 +79,7 @@ void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { Ion::serialNumber(), Ion::fccId() }; -#ifdef USERNAME - assert(index >= 0 && index < 5); -#else - assert(index >= 0 && index < 4); -#endif + assert(index >= 0 && index < k_totalNumberOfCell); myCell->setAccessoryText(messages[index]); } diff --git a/apps/settings/sub_menu/about_controller.h b/apps/settings/sub_menu/about_controller.h index 61fa22e2b..7506e46df 100644 --- a/apps/settings/sub_menu/about_controller.h +++ b/apps/settings/sub_menu/about_controller.h @@ -3,6 +3,7 @@ #include "generic_sub_controller.h" #include "../../hardware_test/pop_up_controller.h" +#include "contributors_controller.h" namespace Settings { @@ -14,11 +15,19 @@ public: int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; private: + bool hasUsername(){ #ifdef USERNAME - constexpr static int k_totalNumberOfCell = 5; + return true; #else - constexpr static int k_totalNumberOfCell = 4; + return false #endif + } +#ifdef USERNAME + constexpr static int k_totalNumberOfCell = 6; +#else + constexpr static int k_totalNumberOfCell = 5; +#endif + ContributorsController m_contributorsController; MessageTableCellWithBuffer m_cells[k_totalNumberOfCell]; HardwareTest::PopUpController m_hardwareTestPopUpController; }; From 8bad48dd5b09edc6d7bfffdfbf8036dec8ac4418 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Thu, 7 Nov 2019 23:57:26 -0500 Subject: [PATCH 06/14] exam_mode_controller unfinished commit Co-Authored-By: null --- .../sub_menu/exam_mode_controller.cpp | 42 +++++++++++++++---- apps/settings/sub_menu/exam_mode_controller.h | 5 ++- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/apps/settings/sub_menu/exam_mode_controller.cpp b/apps/settings/sub_menu/exam_mode_controller.cpp index 6f24abcd7..3c00bc174 100644 --- a/apps/settings/sub_menu/exam_mode_controller.cpp +++ b/apps/settings/sub_menu/exam_mode_controller.cpp @@ -3,6 +3,9 @@ #include "../../apps_container.h" #include #include +#include +#include +#include using namespace Poincare; using namespace Shared; @@ -11,8 +14,11 @@ namespace Settings { ExamModeController::ExamModeController(Responder * parentResponder) : GenericSubController(parentResponder), - m_cell(I18n::Message::ExamModeActive, KDFont::LargeFont) + m_preferencesController(this) { + for (int i = 0; i < k_totalNumberOfCell; i++) { + m_cells[i].setMessageFont(KDFont::LargeFont); + } } void ExamModeController::didEnterResponderChain(Responder * previousFirstResponder) { @@ -20,32 +26,50 @@ void ExamModeController::didEnterResponderChain(Responder * previousFirstRespond } bool ExamModeController::handleEvent(Ion::Events::Event event) { + I18n::Message childLabel = m_messageTreeModel->children(selectedRow())->label(); if (event == Ion::Events::OK || event == Ion::Events::EXE) { - if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate) { - return false; + if (childLabel == I18n::Message::ActivateExamMode || childLabel == I18n::Message::ExamModeActive) { + if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate) { + return false; + } + AppsContainer::sharedAppsContainer()->displayExamModePopUp(true); + return true; + } + if (childLabel == I18n::Message::LEDColor) { + GenericSubController * subController = &m_preferencesController; + subController->setMessageTreeModel(m_messageTreeModel->children(selectedRow())); + StackViewController * stack = stackController(); + stack->push(subController); + return true; } - AppsContainer::sharedAppsContainer()->displayExamModePopUp(true); - return true; } return GenericSubController::handleEvent(event); } HighlightCell * ExamModeController::reusableCell(int index, int type) { assert(type == 0); - assert(index == 0); - return &m_cell; + assert(index >= 0 && index < k_totalNumberOfCell); + return &m_cells[index]; } int ExamModeController::reusableCellCount(int type) { - return 1; + return k_totalNumberOfCell; } void ExamModeController::willDisplayCellForIndex(HighlightCell * cell, int index) { + Preferences * preferences = Preferences::sharedPreferences(); GenericSubController::willDisplayCellForIndex(cell, index); - if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate) { + I18n::Message thisLabel = m_messageTreeModel->children(index)->label(); + + if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate && (thisLabel == I18n::Message::ActivateExamMode || thisLabel == I18n::Message::ExamModeActive)) { MessageTableCell * myCell = (MessageTableCell *)cell; myCell->setMessage(I18n::Message::ExamModeActive); } + if (thisLabel == I18n::Message::LEDColor) { + MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; + I18n::Message message = m_messageTreeModel->children(ledIndex)->children((int)preferences->colorOfLED())->label(); + myTextCell->setSubtitle(message); + } } } diff --git a/apps/settings/sub_menu/exam_mode_controller.h b/apps/settings/sub_menu/exam_mode_controller.h index 22a0da0c7..c475f76f4 100644 --- a/apps/settings/sub_menu/exam_mode_controller.h +++ b/apps/settings/sub_menu/exam_mode_controller.h @@ -2,6 +2,7 @@ #define SETTINGS_EXAM_MODE_CONTROLLER_H #include "generic_sub_controller.h" +#include "preferences_controller.h" namespace Settings { @@ -14,7 +15,9 @@ public: int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; private: - MessageTableCell m_cell; + constexpr static int k_totalNumberOfCell = 2; + MessageTableCellWithBuffer m_cells[k_totalNumberOfCell]; + PreferencesController m_preferencesController; }; } From 90cfda77c49e2524ded96bebd959f202be4886fb Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 9 Nov 2019 19:51:13 -0500 Subject: [PATCH 07/14] functional about_controller but w/o chevron Co-Authored-By: null --- apps/settings/sub_menu/about_controller.cpp | 75 ++++++++++++--------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index 7816d8f3d..a1d5ad330 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -20,35 +20,39 @@ bool AboutController::handleEvent(Ion::Events::Event event) { I18n::Message childLabel = m_messageTreeModel->children(selectedRow())->label(); /* 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) { + if ((event == Ion::Events::Six || event == Ion::Events::LowerT || event == Ion::Events::UpperT) && selectedRow() == numberOfRows() - 1) { 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) { - if (selectedRow() == 0 + hasUsername()) { - MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); - if (strcmp(myCell->accessoryText(), Ion::patchLevel()) == 0) { - myCell->setAccessoryText(Ion::softwareVersion()); + if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { + if (event == Ion::Events::Right) { + if (childLabel == I18n::Message::Contributors) { + GenericSubController * subController = &m_contributorsController; + subController->setMessageTreeModel(m_messageTreeModel->children(selectedRow())); + StackViewController * stack = stackController(); + stack->push(subController); return true; } - myCell->setAccessoryText(Ion::patchLevel()); - return true; } - if (selectedRow() == 1 + hasUsername()) { - MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); - if (strcmp(myCell->accessoryText(), Ion::customSoftwareVersion()) == 0) { - myCell->setAccessoryText("Public"); //Change for public/dev + else { + if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::SoftwareVersion) { + MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); + if (strcmp(myCell->accessoryText(), Ion::patchLevel()) == 0) { + myCell->setAccessoryText(Ion::softwareVersion()); + return true; + } + myCell->setAccessoryText(Ion::patchLevel()); + return true; + } + if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::CustomSoftwareVersion) { + MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); + if (strcmp(myCell->accessoryText(), Ion::customSoftwareVersion()) == 0) { + myCell->setAccessoryText("Public"); //Change for public/dev + return true; + } + myCell->setAccessoryText(Ion::customSoftwareVersion()); return true; } - myCell->setAccessoryText(Ion::customSoftwareVersion()); - return true; - } - if (childLabel == I18n::Message::Contributors) { - GenericSubController * subController = &m_contributorsController; - subController->setMessageTreeModel(MainController::model()->children(aboutIndex)->children(selectedRow())); - StackViewController * stack = stackController(); - stack->push(subController); - return true; } return false; } @@ -68,19 +72,24 @@ int AboutController::reusableCellCount(int type) { void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { GenericSubController::willDisplayCellForIndex(cell, index); - if (MainController) - MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; - static const char * messages[] = { -#ifdef USERNAME - Ion::username(), -#endif - Ion::softwareVersion(), - Ion::customSoftwareVersion(), - Ion::serialNumber(), - Ion::fccId() - }; assert(index >= 0 && index < k_totalNumberOfCell); - myCell->setAccessoryText(messages[index]); + if (m_messageTreeModel->children(index)->label() == I18n::Message::Contributors) { + MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; + myTextCell->setSubtitle(I18n::Message::Default); + } + else { + MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)cell; + static const char * messages[] = { +#ifdef USERNAME + Ion::username(), +#endif + Ion::softwareVersion(), + Ion::customSoftwareVersion(), + Ion::serialNumber(), + Ion::fccId() + }; + myCell->setAccessoryText(messages[index]); + } } } From 810b65399b9ebfbd2a80c3b05bd2029f3cc3ae03 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 9 Nov 2019 23:16:26 -0500 Subject: [PATCH 08/14] finalize about_controller w/ typed cells Co-Authored-By: null --- apps/settings/sub_menu/about_controller.cpp | 46 ++++++++++++++------- apps/settings/sub_menu/about_controller.h | 9 +--- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/apps/settings/sub_menu/about_controller.cpp b/apps/settings/sub_menu/about_controller.cpp index a1d5ad330..0e0472a99 100644 --- a/apps/settings/sub_menu/about_controller.cpp +++ b/apps/settings/sub_menu/about_controller.cpp @@ -7,7 +7,8 @@ namespace Settings { AboutController::AboutController(Responder * parentResponder) : GenericSubController(parentResponder), - m_contributorsController(this) + m_contributorsController(this), + m_contributorsCell(KDFont::LargeFont, KDFont::SmallFont) { for (int i = 0; i < k_totalNumberOfCell; i++) { m_cells[i].setMessageFont(KDFont::LargeFont); @@ -25,16 +26,14 @@ bool AboutController::handleEvent(Ion::Events::Event event) { return true; } if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { - if (event == Ion::Events::Right) { - if (childLabel == I18n::Message::Contributors) { - GenericSubController * subController = &m_contributorsController; - subController->setMessageTreeModel(m_messageTreeModel->children(selectedRow())); - StackViewController * stack = stackController(); - stack->push(subController); - return true; - } + if (childLabel == I18n::Message::Contributors) { + GenericSubController * subController = &m_contributorsController; + subController->setMessageTreeModel(m_messageTreeModel->children(selectedRow())); + StackViewController * stack = stackController(); + stack->push(subController); + return true; } - else { + if (!(event == Ion::Events::Right)) { if (m_messageTreeModel->children(selectedRow())->label() == I18n::Message::SoftwareVersion) { MessageTableCellWithBuffer * myCell = (MessageTableCellWithBuffer *)m_selectableTableView.selectedCell(); if (strcmp(myCell->accessoryText(), Ion::patchLevel()) == 0) { @@ -60,14 +59,31 @@ bool AboutController::handleEvent(Ion::Events::Event event) { } HighlightCell * AboutController::reusableCell(int index, int type) { - assert(type == 0); - assert(index >= 0 && index < k_totalNumberOfCell); - return &m_cells[index]; + assert(index >= 0); + if (type == 0) { + assert(index < k_totalNumberOfCell-1); + return &m_cells[index]; + } + assert(index == 0); + if (type == 1) { + return &m_contributorsCell; + } +} + +int AboutController::typeAtLocation(int i, int j) { + return (j == numberOfRows() - 1 ? 1 : 0); } int AboutController::reusableCellCount(int type) { - assert(type == 0); - return k_totalNumberOfCell; + switch (type) { + case 0: + return k_totalNumberOfCell-1; + case 1: + return 1; + default: + assert(false); + return 0; + } } void AboutController::willDisplayCellForIndex(HighlightCell * cell, int index) { diff --git a/apps/settings/sub_menu/about_controller.h b/apps/settings/sub_menu/about_controller.h index 7506e46df..541360d19 100644 --- a/apps/settings/sub_menu/about_controller.h +++ b/apps/settings/sub_menu/about_controller.h @@ -14,20 +14,15 @@ public: HighlightCell * reusableCell(int index, int type) override; int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; + int typeAtLocation(int i, int j) override; private: - bool hasUsername(){ -#ifdef USERNAME - return true; -#else - return false -#endif - } #ifdef USERNAME constexpr static int k_totalNumberOfCell = 6; #else constexpr static int k_totalNumberOfCell = 5; #endif ContributorsController m_contributorsController; + MessageTableCellWithChevronAndMessage m_contributorsCell; MessageTableCellWithBuffer m_cells[k_totalNumberOfCell]; HardwareTest::PopUpController m_hardwareTestPopUpController; }; From dae0e08153d4fa6142b0daefe11c4dbd48f3218e Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sat, 9 Nov 2019 23:51:20 -0500 Subject: [PATCH 09/14] finalize exam_mode_controller w/ typings Co-Authored-By: null --- .../sub_menu/exam_mode_controller.cpp | 40 ++++++++++++++----- apps/settings/sub_menu/exam_mode_controller.h | 5 ++- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/apps/settings/sub_menu/exam_mode_controller.cpp b/apps/settings/sub_menu/exam_mode_controller.cpp index 3c00bc174..49042b2ce 100644 --- a/apps/settings/sub_menu/exam_mode_controller.cpp +++ b/apps/settings/sub_menu/exam_mode_controller.cpp @@ -5,7 +5,6 @@ #include #include #include -#include using namespace Poincare; using namespace Shared; @@ -14,11 +13,10 @@ namespace Settings { ExamModeController::ExamModeController(Responder * parentResponder) : GenericSubController(parentResponder), - m_preferencesController(this) + m_preferencesController(this), + m_examModeCell(I18n::Message::Default, KDFont::LargeFont), + m_ledCell(KDFont::LargeFont, KDFont::SmallFont) { - for (int i = 0; i < k_totalNumberOfCell; i++) { - m_cells[i].setMessageFont(KDFont::LargeFont); - } } void ExamModeController::didEnterResponderChain(Responder * previousFirstResponder) { @@ -47,13 +45,23 @@ bool ExamModeController::handleEvent(Ion::Events::Event event) { } HighlightCell * ExamModeController::reusableCell(int index, int type) { - assert(type == 0); - assert(index >= 0 && index < k_totalNumberOfCell); - return &m_cells[index]; + assert(index == 0); + if (type == 0) { + return &m_ledCell; + } + return &m_examModeCell; } int ExamModeController::reusableCellCount(int type) { - return k_totalNumberOfCell; + switch (type) { + case 0: + return 1; + case 1: + return 1; + default: + assert(false); + return 0; + } } void ExamModeController::willDisplayCellForIndex(HighlightCell * cell, int index) { @@ -67,9 +75,21 @@ void ExamModeController::willDisplayCellForIndex(HighlightCell * cell, int index } if (thisLabel == I18n::Message::LEDColor) { MessageTableCellWithChevronAndMessage * myTextCell = (MessageTableCellWithChevronAndMessage *)cell; - I18n::Message message = m_messageTreeModel->children(ledIndex)->children((int)preferences->colorOfLED())->label(); + I18n::Message message = (I18n::Message) m_messageTreeModel->children(index)->children((int)preferences->colorOfLED())->label(); myTextCell->setSubtitle(message); } } +int ExamModeController::typeAtLocation(int i, int j) { + switch (j) { + case 0: + return 0; + case 1: + return 1; + default: + assert(false); + return 0; + } +} + } diff --git a/apps/settings/sub_menu/exam_mode_controller.h b/apps/settings/sub_menu/exam_mode_controller.h index c475f76f4..de9b9f9ef 100644 --- a/apps/settings/sub_menu/exam_mode_controller.h +++ b/apps/settings/sub_menu/exam_mode_controller.h @@ -14,9 +14,10 @@ public: HighlightCell * reusableCell(int index, int type) override; int reusableCellCount(int type) override; void willDisplayCellForIndex(HighlightCell * cell, int index) override; + int typeAtLocation(int i, int j) override; private: - constexpr static int k_totalNumberOfCell = 2; - MessageTableCellWithBuffer m_cells[k_totalNumberOfCell]; + MessageTableCell m_examModeCell; + MessageTableCellWithChevronAndMessage m_ledCell; PreferencesController m_preferencesController; }; From dc3a38969aa87883c9053d31327b358ca38c9c3c Mon Sep 17 00:00:00 2001 From: M4x1m3 Date: Sun, 10 Nov 2019 09:42:44 +0100 Subject: [PATCH 10/14] Made workshop work again, fixed #10 --- ion/src/shared/platform_info.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ion/src/shared/platform_info.cpp b/ion/src/shared/platform_info.cpp index da7af7673..625bb363c 100644 --- a/ion/src/shared/platform_info.cpp +++ b/ion/src/shared/platform_info.cpp @@ -69,14 +69,14 @@ private: constexpr static uint32_t Magic = 0xDEC00DF0; uint32_t m_header; const char m_version[8]; - const char m_customVersion[16]; -#ifdef USERNAME - const char m_username[16]; -#endif const char m_patchLevel[8]; void * m_storageAddress; size_t m_storageSize; uint32_t m_footer; + const char m_customVersion[16]; +#ifdef USERNAME + const char m_username[16]; +#endif }; constexpr PlatformInfo HEADER_SECTION platform_infos; From 27dd333c60a38a4026cf30113c7ff4b7ca4093b2 Mon Sep 17 00:00:00 2001 From: Quentin Date: Sun, 10 Nov 2019 13:58:07 +0100 Subject: [PATCH 11/14] [1.13.10] Fix Workshop crash --- build/config.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/config.mak b/build/config.mak index f70a8a0b7..06c046f41 100644 --- a/build/config.mak +++ b/build/config.mak @@ -4,7 +4,7 @@ PLATFORM ?= device DEBUG ?= 0 EPSILON_VERSION ?= 12.0.0 -EPSILON_CUSTOM_VERSION ?= 1.13.9-0 +EPSILON_CUSTOM_VERSION ?= 1.13.10-0 # USERNAME ?= N/A # Valid values are "none", "update", "beta" EPSILON_APPS ?= calculation rpn graph code statistics probability solver atom sequence regression settings From a566f2dc4f936cd984ef6295b8394d9d97869c85 Mon Sep 17 00:00:00 2001 From: Quentin Date: Sun, 10 Nov 2019 14:38:30 +0100 Subject: [PATCH 12/14] [1.14.0] Massive refactor of settings --- apps/settings/sub_menu/exam_mode_controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/settings/sub_menu/exam_mode_controller.cpp b/apps/settings/sub_menu/exam_mode_controller.cpp index 49042b2ce..78ba177db 100644 --- a/apps/settings/sub_menu/exam_mode_controller.cpp +++ b/apps/settings/sub_menu/exam_mode_controller.cpp @@ -25,7 +25,7 @@ void ExamModeController::didEnterResponderChain(Responder * previousFirstRespond bool ExamModeController::handleEvent(Ion::Events::Event event) { I18n::Message childLabel = m_messageTreeModel->children(selectedRow())->label(); - if (event == Ion::Events::OK || event == Ion::Events::EXE) { + if (event == Ion::Events::OK || event == Ion::Events::EXE || event == Ion::Events::Right) { if (childLabel == I18n::Message::ActivateExamMode || childLabel == I18n::Message::ExamModeActive) { if (GlobalPreferences::sharedGlobalPreferences()->examMode() == GlobalPreferences::ExamMode::Activate) { return false; From 875276e017e7c07d03458029a1b7a8f16747ac11 Mon Sep 17 00:00:00 2001 From: Quentin Date: Sun, 10 Nov 2019 13:40:00 +0100 Subject: [PATCH 13/14] [1.14.0] --- build/config.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/config.mak b/build/config.mak index 06c046f41..7e69ecf41 100644 --- a/build/config.mak +++ b/build/config.mak @@ -4,7 +4,7 @@ PLATFORM ?= device DEBUG ?= 0 EPSILON_VERSION ?= 12.0.0 -EPSILON_CUSTOM_VERSION ?= 1.13.10-0 +EPSILON_CUSTOM_VERSION ?= 1.14.0-0 # USERNAME ?= N/A # Valid values are "none", "update", "beta" EPSILON_APPS ?= calculation rpn graph code statistics probability solver atom sequence regression settings From d4ac3e9fc9b95ee0cc0d29fea783db5fe2e79da3 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 10 Nov 2019 10:43:30 -0500 Subject: [PATCH 14/14] Fix main_controller --- apps/settings/main_controller.cpp | 12 +----------- apps/settings/main_controller.h | 8 -------- apps/settings/main_controller_prompt_beta.cpp | 16 ++-------------- apps/settings/main_controller_prompt_none.cpp | 14 +------------- apps/settings/main_controller_prompt_update.cpp | 16 ++-------------- 5 files changed, 6 insertions(+), 60 deletions(-) diff --git a/apps/settings/main_controller.cpp b/apps/settings/main_controller.cpp index 58c0e6b9f..18c0c909d 100644 --- a/apps/settings/main_controller.cpp +++ b/apps/settings/main_controller.cpp @@ -17,13 +17,8 @@ MainController::MainController(Responder * parentResponder, InputEventHandlerDel m_languageController(this, 13), m_accessibilityController(this), m_examModeController(this), -<<<<<<< HEAD m_aboutController(this), - m_contributorsController(this), m_symbolController(this) -======= - m_aboutController(this) ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 { for (int i = 0; i < k_numberOfSimpleChevronCells; i++) { m_cells[i].setMessageFont(KDFont::LargeFont); @@ -82,13 +77,8 @@ bool MainController::handleEvent(Ion::Events::Event event) { subController = &m_aboutController; } else if (model()->children(selectedRow())->label() == I18n::Message::Accessibility) { subController = &m_accessibilityController; -<<<<<<< HEAD - } else if (rowIndex == 10 + hasPrompt()) { - subController = &m_contributorsController; - } else if (rowIndex == 11 + hasPrompt()){ + } else if (model()->children(selectedRow())->label() == I18n::Message::SymbolMultiplication){ subController = &m_symbolController; -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 } else { subController = &m_preferencesController; } diff --git a/apps/settings/main_controller.h b/apps/settings/main_controller.h index a83a1916f..f92057f99 100644 --- a/apps/settings/main_controller.h +++ b/apps/settings/main_controller.h @@ -9,11 +9,7 @@ #include "sub_menu/exam_mode_controller.h" #include "sub_menu/language_controller.h" #include "sub_menu/preferences_controller.h" -<<<<<<< HEAD -#include "sub_menu/contributors_controller.h" #include "sub_menu/symbol_controller.h" -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 namespace Settings { @@ -48,11 +44,7 @@ private: AccessibilityController m_accessibilityController; ExamModeController m_examModeController; AboutController m_aboutController; -<<<<<<< HEAD - ContributorsController m_contributorsController; SymbolController m_symbolController; -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 }; } diff --git a/apps/settings/main_controller_prompt_beta.cpp b/apps/settings/main_controller_prompt_beta.cpp index 6b52275ad..89344556c 100644 --- a/apps/settings/main_controller_prompt_beta.cpp +++ b/apps/settings/main_controller_prompt_beta.cpp @@ -19,11 +19,7 @@ constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18 constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -<<<<<<< HEAD -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_symbolChildren[4] = {SettingsMessageTree(I18n::Message::SymbolMultiplicationCross),SettingsMessageTree(I18n::Message::SymbolMultiplicationMiddleDot),SettingsMessageTree(I18n::Message::SymbolMultiplicationStar),SettingsMessageTree(I18n::Message::SymbolMultiplicationAutoSymbol)}; -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -32,25 +28,17 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3), SettingsMessageTree(I18n::Message::Brightness), SettingsMessageTree(I18n::Message::Language), - SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), + SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2), SettingsMessageTree(I18n::Message::BetaPopUp), #ifdef USERNAME SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6), #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif -<<<<<<< HEAD - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5), SettingsMessageTree(I18n::Message::SymbolMultiplication, s_symbolChildren, 4)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 13); -======= - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; - -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10); ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 11); I18n::Message MainController::promptMessage() const { return I18n::Message::BetaPopUp; diff --git a/apps/settings/main_controller_prompt_none.cpp b/apps/settings/main_controller_prompt_none.cpp index 5b6dd51bb..bc0de44cb 100644 --- a/apps/settings/main_controller_prompt_none.cpp +++ b/apps/settings/main_controller_prompt_none.cpp @@ -20,11 +20,7 @@ constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18 constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -<<<<<<< HEAD -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_symbolChildren[4] = {SettingsMessageTree(I18n::Message::SymbolMultiplicationCross),SettingsMessageTree(I18n::Message::SymbolMultiplicationMiddleDot),SettingsMessageTree(I18n::Message::SymbolMultiplicationStar),SettingsMessageTree(I18n::Message::SymbolMultiplicationAutoSymbol)}; -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -39,18 +35,10 @@ constexpr SettingsMessageTree s_modelMenu[] = #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif -<<<<<<< HEAD - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5), SettingsMessageTree(I18n::Message::SymbolMultiplication, s_symbolChildren, 4)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 12); -======= - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; - -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 9); ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10); I18n::Message MainController::promptMessage() const { return I18n::Message::Default; diff --git a/apps/settings/main_controller_prompt_update.cpp b/apps/settings/main_controller_prompt_update.cpp index 019f98f33..181179e91 100644 --- a/apps/settings/main_controller_prompt_update.cpp +++ b/apps/settings/main_controller_prompt_update.cpp @@ -19,11 +19,7 @@ constexpr SettingsMessageTree s_modelAboutChildren[6] = {SettingsMessageTree(I18 constexpr SettingsMessageTree s_modelAboutChildren[5] = {SettingsMessageTree(I18n::Message::SoftwareVersion), SettingsMessageTree(I18n::Message::CustomSoftwareVersion), SettingsMessageTree(I18n::Message::SerialNumber), SettingsMessageTree(I18n::Message::FccId), SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5)}; #endif constexpr SettingsMessageTree s_accessibilityChildren[6] = {SettingsMessageTree(I18n::Message::AccessibilityInvertColors), SettingsMessageTree(I18n::Message::AccessibilityMagnify),SettingsMessageTree(I18n::Message::AccessibilityGamma),SettingsMessageTree(I18n::Message::AccessibilityGammaRed),SettingsMessageTree(I18n::Message::AccessibilityGammaGreen),SettingsMessageTree(I18n::Message::AccessibilityGammaBlue)}; -<<<<<<< HEAD -constexpr SettingsMessageTree s_contributorsChildren[5] = {SettingsMessageTree(I18n::Message::QuentinGuidee), SettingsMessageTree(I18n::Message::DannySimmons), SettingsMessageTree(I18n::Message::JoachimLeFournis), SettingsMessageTree(I18n::Message::JeanBaptisteBoric), SettingsMessageTree(I18n::Message::MaximeFriess)}; constexpr SettingsMessageTree s_symbolChildren[4] = {SettingsMessageTree(I18n::Message::SymbolMultiplicationCross),SettingsMessageTree(I18n::Message::SymbolMultiplicationMiddleDot),SettingsMessageTree(I18n::Message::SymbolMultiplicationStar),SettingsMessageTree(I18n::Message::SymbolMultiplicationAutoSymbol)}; -======= ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 constexpr SettingsMessageTree s_modelMenu[] = {SettingsMessageTree(I18n::Message::AngleUnit, s_modelAngleChildren, 3), @@ -32,25 +28,17 @@ constexpr SettingsMessageTree s_modelMenu[] = SettingsMessageTree(I18n::Message::ComplexFormat, s_modelComplexFormatChildren, 3), SettingsMessageTree(I18n::Message::Brightness), SettingsMessageTree(I18n::Message::Language), - SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 1), + SettingsMessageTree(I18n::Message::ExamMode, s_modelExamChildren, 2), SettingsMessageTree(I18n::Message::UpdatePopUp), #ifdef USERNAME SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 6), #else SettingsMessageTree(I18n::Message::About, s_modelAboutChildren, 5), #endif -<<<<<<< HEAD - SettingsMessageTree(I18n::Message::LEDColor, s_ledColorChildren, 4), SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6), - SettingsMessageTree(I18n::Message::Contributors, s_contributorsChildren, 5), SettingsMessageTree(I18n::Message::SymbolMultiplication, s_symbolChildren, 4)}; -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 13); -======= - SettingsMessageTree(I18n::Message::Accessibility, s_accessibilityChildren, 6)}; - -constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 10); ->>>>>>> 875276e017e7c07d03458029a1b7a8f16747ac11 +constexpr SettingsMessageTree s_model = SettingsMessageTree(I18n::Message::SettingsApp, s_modelMenu, 11); I18n::Message MainController::promptMessage() const { return I18n::Message::UpdatePopUp;