From ced4fdd834a262437c53cf5f7d10527868084735 Mon Sep 17 00:00:00 2001 From: Gres Date: Tue, 17 Mar 2020 20:43:32 +0300 Subject: [PATCH] Load substitutions in legacy format --- src/settings.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/settings.cpp b/src/settings.cpp index f62554e..7139ff0 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -74,6 +74,27 @@ Substitutions unpackSubstitutions(const QStringList& raw) return result; } +Substitutions loadLegacySubstitutions() +{ + Substitutions result; + + QFile f("st_subs.csv"); + if (!f.open(QFile::ReadOnly)) + return result; + + const auto data = f.readAll(); + + const auto lines = + QString::fromUtf8(data).split('\n', QString::SkipEmptyParts); + for (const auto& line : lines) { + const auto parts = line.mid(1, line.size() - 2).split("\",\""); // remove " + if (parts.size() < 3) + continue; + result.emplace(parts[0], Substitution{parts[1], parts[2]}); + } + return result; +} + void cleanupOutdated(QSettings& settings) { if (!settings.contains(qs_recogntionGroup + "/image_scale")) @@ -209,6 +230,8 @@ void Settings::load() settings.value(qs_useUserSubstitutions, useUserSubstitutions).toBool(); userSubstitutions = unpackSubstitutions(settings.value(qs_userSubstitutions).toStringList()); + if (userSubstitutions.empty()) + userSubstitutions = loadLegacySubstitutions(); settings.endGroup(); settings.beginGroup(qs_translationGroup);