Changeset View
Changeset View
Standalone View
Standalone View
src/qt/intro.cpp
Show First 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | void FreespaceChecker::check() { | ||||
Q_EMIT reply(replyStatus, replyMessage, freeBytesAvailable); | Q_EMIT reply(replyStatus, replyMessage, freeBytesAvailable); | ||||
} | } | ||||
Intro::Intro(QWidget *parent) | Intro::Intro(QWidget *parent) | ||||
: QDialog(parent), ui(new Ui::Intro), thread(0), signalled(false) { | : QDialog(parent), ui(new Ui::Intro), thread(0), signalled(false) { | ||||
ui->setupUi(this); | ui->setupUi(this); | ||||
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(tr(PACKAGE_NAME))); | ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(tr(PACKAGE_NAME))); | ||||
ui->storageLabel->setText(ui->storageLabel->text().arg(tr(PACKAGE_NAME))); | ui->storageLabel->setText(ui->storageLabel->text().arg(tr(PACKAGE_NAME))); | ||||
uint64_t pruneTarget = std::max<int64_t>(0, GetArg("-prune", 0)); | uint64_t pruneTarget = std::max<int64_t>(0, gArgs.GetArg("-prune", 0)); | ||||
requiredSpace = BLOCK_CHAIN_SIZE; | requiredSpace = BLOCK_CHAIN_SIZE; | ||||
if (pruneTarget) { | if (pruneTarget) { | ||||
uint64_t prunedGBs = std::ceil(pruneTarget * 1024 * 1024.0 / GB_BYTES); | uint64_t prunedGBs = std::ceil(pruneTarget * 1024 * 1024.0 / GB_BYTES); | ||||
if (prunedGBs <= requiredSpace) { | if (prunedGBs <= requiredSpace) { | ||||
requiredSpace = prunedGBs; | requiredSpace = prunedGBs; | ||||
} | } | ||||
} | } | ||||
requiredSpace += CHAIN_STATE_SIZE; | requiredSpace += CHAIN_STATE_SIZE; | ||||
Show All 29 Lines | |||||
QString Intro::getDefaultDataDirectory() { | QString Intro::getDefaultDataDirectory() { | ||||
return GUIUtil::boostPathToQString(GetDefaultDataDir()); | return GUIUtil::boostPathToQString(GetDefaultDataDir()); | ||||
} | } | ||||
bool Intro::pickDataDirectory() { | bool Intro::pickDataDirectory() { | ||||
QSettings settings; | QSettings settings; | ||||
/* If data directory provided on command line, no need to look at settings | /* If data directory provided on command line, no need to look at settings | ||||
or show a picking dialog */ | or show a picking dialog */ | ||||
if (!GetArg("-datadir", "").empty()) return true; | if (!gArgs.GetArg("-datadir", "").empty()) return true; | ||||
/* 1) Default data directory for operating system */ | /* 1) Default data directory for operating system */ | ||||
QString dataDir = getDefaultDataDirectory(); | QString dataDir = getDefaultDataDirectory(); | ||||
/* 2) Allow QSettings to override default dir */ | /* 2) Allow QSettings to override default dir */ | ||||
dataDir = settings.value("strDataDir", dataDir).toString(); | dataDir = settings.value("strDataDir", dataDir).toString(); | ||||
if (!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || | if (!fs::exists(GUIUtil::qstringToBoostPath(dataDir)) || | ||||
GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR) || | gArgs.GetBoolArg("-choosedatadir", DEFAULT_CHOOSE_DATADIR) || | ||||
settings.value("fReset", false).toBool() || | settings.value("fReset", false).toBool() || | ||||
GetBoolArg("-resetguisettings", false)) { | gArgs.GetBoolArg("-resetguisettings", false)) { | ||||
/* If current default data directory does not exist, let the user choose | /* If current default data directory does not exist, let the user choose | ||||
* one */ | * one */ | ||||
Intro intro; | Intro intro; | ||||
intro.setDataDirectory(dataDir); | intro.setDataDirectory(dataDir); | ||||
intro.setWindowIcon(QIcon(":icons/bitcoin")); | intro.setWindowIcon(QIcon(":icons/bitcoin")); | ||||
while (true) { | while (true) { | ||||
if (!intro.exec()) { | if (!intro.exec()) { | ||||
Show All 18 Lines | bool Intro::pickDataDirectory() { | ||||
} | } | ||||
/* Only override -datadir if different from the default, to make it possible | /* Only override -datadir if different from the default, to make it possible | ||||
* to | * to | ||||
* override -datadir in the bitcoin.conf file in the default data directory | * override -datadir in the bitcoin.conf file in the default data directory | ||||
* (to be consistent with bitcoind behavior) | * (to be consistent with bitcoind behavior) | ||||
*/ | */ | ||||
if (dataDir != getDefaultDataDirectory()) { | if (dataDir != getDefaultDataDirectory()) { | ||||
// use OS locale for path setting | // use OS locale for path setting | ||||
SoftSetArg("-datadir", GUIUtil::qstringToBoostPath(dataDir).string()); | gArgs.SoftSetArg("-datadir", | ||||
GUIUtil::qstringToBoostPath(dataDir).string()); | |||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
void Intro::setStatus(int status, const QString &message, | void Intro::setStatus(int status, const QString &message, | ||||
quint64 bytesAvailable) { | quint64 bytesAvailable) { | ||||
switch (status) { | switch (status) { | ||||
case FreespaceChecker::ST_OK: | case FreespaceChecker::ST_OK: | ||||
▲ Show 20 Lines • Show All 81 Lines • Show Last 20 Lines |