Browse Source

[Qt] Add dbcache migration path

Github-Pull: #8407
Rebased-From: 893f379ba0
0.13
Jonas Schnelli 8 years ago committed by Wladimir J. van der Laan
parent
commit
45eba4b1e0
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 21
      src/qt/optionsmodel.cpp
  2. 4
      src/qt/optionsmodel.h

21
src/qt/optionsmodel.cpp

@ -43,6 +43,8 @@ void OptionsModel::Init(bool resetSettings)
if (resetSettings) if (resetSettings)
Reset(); Reset();
checkAndMigrate();
QSettings settings; QSettings settings;
// Ensure restart flag is unset on client startup // Ensure restart flag is unset on client startup
@ -429,3 +431,22 @@ bool OptionsModel::isRestartRequired()
QSettings settings; QSettings settings;
return settings.value("fRestartRequired", false).toBool(); return settings.value("fRestartRequired", false).toBool();
} }
void OptionsModel::checkAndMigrate()
{
// Migration of default values
// Check if the QSettings container was already loaded with this client version
QSettings settings;
static const char strSettingsVersionKey[] = "nSettingsVersion";
int settingsVersion = settings.contains(strSettingsVersionKey) ? settings.value(strSettingsVersionKey).toInt() : 0;
if (settingsVersion < CLIENT_VERSION)
{
// -dbcache was bumped from 100 to 300 in 0.13
// see https://github.com/bitcoin/bitcoin/pull/8273
// force people to upgrade to the new value if they are using 100MB
if (settingsVersion < 130000 && settings.contains("nDatabaseCache") && settings.value("nDatabaseCache").toLongLong() == 100)
settings.setValue("nDatabaseCache", (qint64)nDefaultDbCache);
settings.setValue(strSettingsVersionKey, CLIENT_VERSION);
}
}

4
src/qt/optionsmodel.h

@ -84,9 +84,11 @@ private:
/* settings that were overriden by command-line */ /* settings that were overriden by command-line */
QString strOverriddenByCommandLine; QString strOverriddenByCommandLine;
/// Add option to list of GUI options overridden through command line/config file // Add option to list of GUI options overridden through command line/config file
void addOverriddenOption(const std::string &option); void addOverriddenOption(const std::string &option);
// Check settings version and upgrade default values if required
void checkAndMigrate();
Q_SIGNALS: Q_SIGNALS:
void displayUnitChanged(int unit); void displayUnitChanged(int unit);
void coinControlFeaturesChanged(bool); void coinControlFeaturesChanged(bool);

Loading…
Cancel
Save