aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Schnelli <dev@jonasschnelli.ch>2016-08-25 11:42:45 +0200
committerJonas Schnelli <dev@jonasschnelli.ch>2016-08-25 11:42:57 +0200
commitd26234a9e2fa93c5340330a9de612555fc329620 (patch)
tree8e44777bddc1b9a3f022991e59fb61ab1b2965b1
parent95a983d56dbda457e3bf8766d59bac74c7aa5699 (diff)
parent57acb82e7014f3214229349485fa3f57842b10ae (diff)
Merge #8487: Persist the datadir after option reset
57acb82 Load choose datadir dialog after options reset (Andrew Chow) 15df3c1 Persist the datadir after option reset (Andrew Chow)
-rw-r--r--src/qt/intro.cpp3
-rw-r--r--src/qt/optionsmodel.cpp14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/qt/intro.cpp b/src/qt/intro.cpp
index 6a5740e21d..1a241ae0f0 100644
--- a/src/qt/intro.cpp
+++ b/src/qt/intro.cpp
@@ -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()
}
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
diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
index d33ab68277..f82e153b67 100644
--- a/src/qt/optionsmodel.cpp
+++ b/src/qt/optionsmodel.cpp
@@ -17,6 +17,7 @@
#include "net.h"
#include "netbase.h"
#include "txdb.h" // for -dbcache defaults
+#include "intro.h"
#ifdef ENABLE_WALLET
#include "wallet/wallet.h"
@@ -99,6 +100,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"))
@@ -151,9 +155,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);