void GeneralWidget::notifyFileQueryUpdated(const FileDialog::QueryUpdate &update) { if (_chooseLangFileQueryId != update.queryId) { return; } _chooseLangFileQueryId = 0; if (update.filePaths.isEmpty()) { return; } _testLanguage = QFileInfo(update.filePaths.front()).absoluteFilePath(); LangLoaderPlain loader(_testLanguage, langLoaderRequest(lng_sure_save_language, lng_cancel, lng_box_ok)); if (loader.errors().isEmpty()) { LangLoaderResult result = loader.found(); auto text = result.value(lng_sure_save_language, langOriginal(lng_sure_save_language)), save = result.value(lng_box_ok, langOriginal(lng_box_ok)), cancel = result.value(lng_cancel, langOriginal(lng_cancel)); Ui::show(Box<ConfirmBox>(text, save, cancel, base::lambda_guarded(this, [this] { cSetLangFile(_testLanguage); cSetLang(languageTest); Local::writeSettings(); onRestart(); }))); } else { Ui::show(Box<InformBox>("Custom lang failed :(\n\nError: " + loader.errors())); } }
void IntroWidget::onChangeLang() { cSetLang(_langChangeTo); Local::writeSettings(); cSetRestarting(true); cSetRestartingToSettings(false); App::quit(); }
void LanguageBox::onSave() { for (int32 i = 0, l = _langs.size(); i < l; ++i) { if (_langs[i]->checked()) { cSetLang(_langs[i]->val()); Local::writeSettings(); cSetRestarting(true); cSetRestartingToSettings(true); App::quit(); } } }