diff --git a/src/app/upgrade.cpp b/src/app/upgrade.cpp index 79455b53d..3c46cb324 100644 --- a/src/app/upgrade.cpp +++ b/src/app/upgrade.cpp @@ -36,12 +36,15 @@ #include "base/preferences.h" #include "base/profile.h" #include "base/settingsstorage.h" +#include "base/settingvalue.h" #include "base/utils/fs.h" #include "base/utils/io.h" #include "base/utils/string.h" namespace { + const int MIGRATION_VERSION = 1; + void exportWebUIHttpsFiles() { const auto migrate = [](const QString &oldKey, const QString &newKey, const QString &savePath) @@ -229,12 +232,23 @@ namespace bool upgrade(const bool /*ask*/) { - exportWebUIHttpsFiles(); - upgradeTorrentContentLayout(); - upgradeListenPortSettings(); - upgradeSchedulerDaysSettings(); - upgradeDNSServiceSettings(); - upgradeTrayIconStyleSettings(); + CachedSettingValue version {"Meta/MigrationVersion", 0}; + + if (version != MIGRATION_VERSION) + { + if (version < 1) + { + exportWebUIHttpsFiles(); + upgradeTorrentContentLayout(); + upgradeListenPortSettings(); + upgradeSchedulerDaysSettings(); + upgradeDNSServiceSettings(); + upgradeTrayIconStyleSettings(); + } + + version = MIGRATION_VERSION; + } + return true; } diff --git a/src/base/utils/version.h b/src/base/utils/version.h index 12c7f75d1..8357313b3 100644 --- a/src/base/utils/version.h +++ b/src/base/utils/version.h @@ -146,9 +146,9 @@ namespace Utils { return Version(s); } - catch (const RuntimeError &er) + catch (const RuntimeError &error) { - qDebug() << "Error parsing version:" << er.message(); + qDebug() << "Error parsing version:" << error.message(); return defaultVersion; } }