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