Browse Source

Persist the datadir after option reset

Github-Pull: #8487
Rebased-From: 15df3c196b 57acb82e70
0.13
Andrew Chow 8 years ago committed by MarcoFalke
parent
commit
a37cec537b
  1. 3
      src/qt/intro.cpp
  2. 14
      src/qt/optionsmodel.cpp

3
src/qt/intro.cpp

@ -178,7 +178,7 @@ bool Intro::pickDataDirectory() @@ -178,7 +178,7 @@ bool Intro::pickDataDirectory()
/* 2) Allow QSettings to override default dir */
dataDir = settings.value("strDataDir", dataDir).toString();
if(!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR))
if(!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR) || settings.value("fReset", false).toBool() || GetBoolArg("-resetguisettings", false))
{
/* If current default data directory does not exist, let the user choose one */
Intro intro;
@ -204,6 +204,7 @@ bool Intro::pickDataDirectory() @@ -204,6 +204,7 @@ bool Intro::pickDataDirectory()
}
settings.setValue("strDataDir", dataDir);
settings.setValue("fReset", false);
}
/* Only override -datadir if different from the default, to make it possible to
* override -datadir in the bitcoin.conf file in the default data directory

14
src/qt/optionsmodel.cpp

@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
#include "main.h" // For DEFAULT_SCRIPTCHECK_THREADS
#include "net.h"
#include "txdb.h" // for -dbcache defaults
#include "intro.h"
#ifdef ENABLE_WALLET
#include "wallet/wallet.h"
@ -98,6 +99,9 @@ void OptionsModel::Init(bool resetSettings) @@ -98,6 +99,9 @@ void OptionsModel::Init(bool resetSettings)
if (!SoftSetArg("-par", settings.value("nThreadsScriptVerif").toString().toStdString()))
addOverriddenOption("-par");
if (!settings.contains("strDataDir"))
settings.setValue("strDataDir", Intro::getDefaultDataDirectory());
// Wallet
#ifdef ENABLE_WALLET
if (!settings.contains("bSpendZeroConfChange"))
@ -150,9 +154,19 @@ void OptionsModel::Reset() @@ -150,9 +154,19 @@ void OptionsModel::Reset()
{
QSettings settings;
// Save the strDataDir setting
QString dataDir = Intro::getDefaultDataDirectory();
dataDir = settings.value("strDataDir", dataDir).toString();
// Remove all entries from our QSettings object
settings.clear();
// Set strDataDir
settings.setValue("strDataDir", dataDir);
// Set that this was reset
settings.setValue("fReset", true);
// default setting for OptionsModel::StartAtStartup - disabled
if (GUIUtil::GetStartOnSystemStartup())
GUIUtil::SetStartOnSystemStartup(false);

Loading…
Cancel
Save