Remove direct bitcoin calls from qt/intro.cpp

This commit is contained in:
Russell Yanofsky 2017-04-17 15:44:10 -04:00 committed by John Newbery
parent fe6f27e6ea
commit d7c2c95948
4 changed files with 14 additions and 8 deletions

View File

@ -113,7 +113,7 @@ class NodeImpl : public Node
LOCK(::cs_main);
tip = ::chainActive.Tip();
}
return GuessVerificationProgress(::Params().TxData(), tip);
return GuessVerificationProgress(Params().TxData(), tip);
}
bool isInitialBlockDownload() override { return IsInitialBlockDownload(); }
bool getReindex() override { return ::fReindex; }
@ -166,7 +166,7 @@ class NodeImpl : public Node
{
return MakeHandler(::uiInterface.NotifyBlockTip.connect([fn](bool initial_download, const CBlockIndex* block) {
fn(initial_download, block->nHeight, block->GetBlockTime(),
GuessVerificationProgress(::Params().TxData(), block));
GuessVerificationProgress(Params().TxData(), block));
}));
}
std::unique_ptr<Handler> handleNotifyHeaderTip(NotifyHeaderTipFn fn) override
@ -174,7 +174,7 @@ class NodeImpl : public Node
return MakeHandler(
::uiInterface.NotifyHeaderTip.connect([fn](bool initial_download, const CBlockIndex* block) {
fn(initial_download, block->nHeight, block->GetBlockTime(),
GuessVerificationProgress(::Params().TxData(), block));
GuessVerificationProgress(Params().TxData(), block));
}));
}
};

View File

@ -602,7 +602,7 @@ int main(int argc, char *argv[])
/// 5. Now that settings and translations are available, ask user for data directory
// User language is set up: pick a data directory
if (!Intro::pickDataDirectory())
if (!Intro::pickDataDirectory(*node))
return EXIT_SUCCESS;
/// 6. Determine availability of data and blocks directory and parse bitcoin.conf

View File

@ -12,6 +12,7 @@
#include <qt/guiutil.h>
#include <interface/node.h>
#include <util.h>
#include <QFileDialog>
@ -186,7 +187,7 @@ QString Intro::getDefaultDataDirectory()
return GUIUtil::boostPathToQString(GetDefaultDataDir());
}
bool Intro::pickDataDirectory()
bool Intro::pickDataDirectory(interface::Node& node)
{
QSettings settings;
/* If data directory provided on command line, no need to look at settings
@ -233,8 +234,9 @@ bool Intro::pickDataDirectory()
* override -datadir in the bitcoin.conf file in the default data directory
* (to be consistent with bitcoind behavior)
*/
if(dataDir != getDefaultDataDirectory())
gArgs.SoftSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting
if(dataDir != getDefaultDataDirectory()) {
node.softSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); // use OS locale for path setting
}
return true;
}

View File

@ -13,6 +13,10 @@ static const bool DEFAULT_CHOOSE_DATADIR = false;
class FreespaceChecker;
namespace interface {
class Node;
}
namespace Ui {
class Intro;
}
@ -41,7 +45,7 @@ public:
* @note do NOT call global GetDataDir() before calling this function, this
* will cause the wrong path to be cached.
*/
static bool pickDataDirectory();
static bool pickDataDirectory(interface::Node& node);
/**
* Determine default data directory for operating system.