Skip to content

Commit d26234a

Browse files
committed
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)
2 parents 95a983d + 57acb82 commit d26234a

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/qt/intro.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ bool Intro::pickDataDirectory()
178178
/* 2) Allow QSettings to override default dir */
179179
dataDir = settings.value("strDataDir", dataDir).toString();
180180

181-
if(!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR))
181+
if(!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR) || settings.value("fReset", false).toBool() || GetBoolArg("-resetguisettings", false))
182182
{
183183
/* If current default data directory does not exist, let the user choose one */
184184
Intro intro;
@@ -204,6 +204,7 @@ bool Intro::pickDataDirectory()
204204
}
205205

206206
settings.setValue("strDataDir", dataDir);
207+
settings.setValue("fReset", false);
207208
}
208209
/* Only override -datadir if different from the default, to make it possible to
209210
* override -datadir in the bitcoin.conf file in the default data directory

src/qt/optionsmodel.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "net.h"
1818
#include "netbase.h"
1919
#include "txdb.h" // for -dbcache defaults
20+
#include "intro.h"
2021

2122
#ifdef ENABLE_WALLET
2223
#include "wallet/wallet.h"
@@ -99,6 +100,9 @@ void OptionsModel::Init(bool resetSettings)
99100
if (!SoftSetArg("-par", settings.value("nThreadsScriptVerif").toString().toStdString()))
100101
addOverriddenOption("-par");
101102

103+
if (!settings.contains("strDataDir"))
104+
settings.setValue("strDataDir", Intro::getDefaultDataDirectory());
105+
102106
// Wallet
103107
#ifdef ENABLE_WALLET
104108
if (!settings.contains("bSpendZeroConfChange"))
@@ -151,9 +155,19 @@ void OptionsModel::Reset()
151155
{
152156
QSettings settings;
153157

158+
// Save the strDataDir setting
159+
QString dataDir = Intro::getDefaultDataDirectory();
160+
dataDir = settings.value("strDataDir", dataDir).toString();
161+
154162
// Remove all entries from our QSettings object
155163
settings.clear();
156164

165+
// Set strDataDir
166+
settings.setValue("strDataDir", dataDir);
167+
168+
// Set that this was reset
169+
settings.setValue("fReset", true);
170+
157171
// default setting for OptionsModel::StartAtStartup - disabled
158172
if (GUIUtil::GetStartOnSystemStartup())
159173
GUIUtil::SetStartOnSystemStartup(false);

0 commit comments

Comments
 (0)