~aleteoryx/muditaos

a7251354555fb38e6ecbd00953cf216398432a0e — Paweł Joński 4 years ago 4b7fecf
[BH-1285] Onboarding tips language

Tips are displayed in selected (focused) language
M products/BellHybrid/apps/application-bell-onboarding/ApplicationBellOnBoarding.cpp => products/BellHybrid/apps/application-bell-onboarding/ApplicationBellOnBoarding.cpp +10 -0
@@ 139,6 139,16 @@ namespace app

    void ApplicationBellOnBoarding::displayInformation(const std::string &windowToReturn)
    {
        // If user is during language selection, pick new language for hint popup
        if (windowToReturn == gui::window::name::onBoardingLanguageWindow) {
            auto languageSelectWindow = dynamic_cast<gui::OnBoardingLanguageWindow *>(getWindow(windowToReturn));
            auto selectedLang         = languageSelectWindow->getSelectedLanguage();

            if (utils::getDisplayLanguage() != selectedLang) {
                utils::setDisplayLanguage(selectedLang);
            }
        }

        auto [icon, text] = getDisplayDataFromState();
        switchWindow(gui::window::name::informationOnBoardingWindow,
                     gui::BellFinishedWindowData::Factory::create(icon, windowToReturn, utils::translate(text)));

M products/BellHybrid/apps/application-bell-onboarding/windows/OnBoardingLanguageWindow.cpp => products/BellHybrid/apps/application-bell-onboarding/windows/OnBoardingLanguageWindow.cpp +11 -1
@@ 27,10 27,20 @@ namespace gui
                    presenter->setLanguage(language);
                    return true;
                },
                nullptr,
                [=](gui::Item &item) {
                    if (item.focus) {
                        selectedLang = language;
                    }
                    return true;
                },
                this));
        }

        return languageOptionList;
    }

    std::string OnBoardingLanguageWindow::getSelectedLanguage()
    {
        return selectedLang;
    }
} // namespace gui

M products/BellHybrid/apps/application-bell-onboarding/windows/OnBoardingLanguageWindow.hpp => products/BellHybrid/apps/application-bell-onboarding/windows/OnBoardingLanguageWindow.hpp +3 -0
@@ 17,10 17,13 @@ namespace gui
            app::ApplicationCommon *app,
            std::unique_ptr<app::OnBoarding::OnBoardingLanguageWindowPresenter::Presenter> &&presenter,
            const std::string &name = gui::window::name::onBoardingLanguageWindow);
        std::string getSelectedLanguage();

      private:
        std::unique_ptr<app::OnBoarding::OnBoardingLanguageWindowPresenter::Presenter> presenter;

        std::list<Option> languageOptionsList();

        std::string selectedLang = "";
    };
} // namespace gui