Improve support of empty input data

This commit is contained in:
Gres 2020-03-31 19:43:28 +03:00
parent e36fbbf3b0
commit ff19f87b44
2 changed files with 10 additions and 3 deletions

View File

@ -82,8 +82,7 @@ Substitutions SubstitutionsTable::substitutions() const
Substitutions result; Substitutions result;
for (auto row = 0, end = rowCount(); row < end; ++row) { for (auto row = 0, end = rowCount(); row < end; ++row) {
const auto pair = at(row); const auto pair = at(row);
SOFT_ASSERT(!pair.first.isEmpty(), continue); if (pair.first.isEmpty() || pair.second.source.isEmpty())
if (pair.second.source.isEmpty())
continue; continue;
result.emplace(pair.first, pair.second); result.emplace(pair.first, pair.second);
} }
@ -124,6 +123,9 @@ std::pair<LanguageId, Substitution> SubstitutionsTable::at(int row) const
auto combo = static_cast<QComboBox *>(cellWidget(row, int(E::Language))); auto combo = static_cast<QComboBox *>(cellWidget(row, int(E::Language)));
SOFT_ASSERT(combo, return {}); SOFT_ASSERT(combo, return {});
if (combo->currentText().isEmpty())
return {};
const auto langId = LanguageCodes::idForName(combo->currentText()); const auto langId = LanguageCodes::idForName(combo->currentText());
SOFT_ASSERT(!langId.isEmpty(), return {}); SOFT_ASSERT(!langId.isEmpty(), return {});

View File

@ -123,11 +123,16 @@ void Translator::updateSettings()
} }
tabs_->blockSignals(false); tabs_->blockSignals(false);
if (settings_.translators.empty()) {
manager_.fatalError(tr("No translators selected"));
return;
}
const auto loaded = const auto loaded =
loadScripts(settings_.translatorsDir, settings_.translators); loadScripts(settings_.translatorsDir, settings_.translators);
if (loaded.empty()) { if (loaded.empty()) {
manager_.fatalError( manager_.fatalError(
tr("No translators loaded from %1 (named %2)") tr("No translators loaded from %1 (%2)")
.arg(settings_.translatorsDir, settings_.translators.join(", "))); .arg(settings_.translatorsDir, settings_.translators.join(", ")));
return; return;
} }