Browse Source

Introduce versioning on main configuration file

adaptive-webui-19844
Chocobo1 3 years ago
parent
commit
b8a7ecfe69
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 14
      src/app/upgrade.cpp
  2. 4
      src/base/utils/version.h

14
src/app/upgrade.cpp

@ -36,12 +36,15 @@
#include "base/preferences.h" #include "base/preferences.h"
#include "base/profile.h" #include "base/profile.h"
#include "base/settingsstorage.h" #include "base/settingsstorage.h"
#include "base/settingvalue.h"
#include "base/utils/fs.h" #include "base/utils/fs.h"
#include "base/utils/io.h" #include "base/utils/io.h"
#include "base/utils/string.h" #include "base/utils/string.h"
namespace namespace
{ {
const int MIGRATION_VERSION = 1;
void exportWebUIHttpsFiles() void exportWebUIHttpsFiles()
{ {
const auto migrate = [](const QString &oldKey, const QString &newKey, const QString &savePath) const auto migrate = [](const QString &oldKey, const QString &newKey, const QString &savePath)
@ -229,12 +232,23 @@ namespace
bool upgrade(const bool /*ask*/) bool upgrade(const bool /*ask*/)
{ {
CachedSettingValue<int> version {"Meta/MigrationVersion", 0};
if (version != MIGRATION_VERSION)
{
if (version < 1)
{
exportWebUIHttpsFiles(); exportWebUIHttpsFiles();
upgradeTorrentContentLayout(); upgradeTorrentContentLayout();
upgradeListenPortSettings(); upgradeListenPortSettings();
upgradeSchedulerDaysSettings(); upgradeSchedulerDaysSettings();
upgradeDNSServiceSettings(); upgradeDNSServiceSettings();
upgradeTrayIconStyleSettings(); upgradeTrayIconStyleSettings();
}
version = MIGRATION_VERSION;
}
return true; return true;
} }

4
src/base/utils/version.h

@ -146,9 +146,9 @@ namespace Utils
{ {
return Version(s); 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; return defaultVersion;
} }
} }

Loading…
Cancel
Save