Пример #1
0
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()));
	}
}
Пример #2
0
void IntroWidget::onChangeLang() {
	cSetLang(_langChangeTo);
	Local::writeSettings();
	cSetRestarting(true);
	cSetRestartingToSettings(false);
	App::quit();
}
Пример #3
0
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();
		}
	}
}