mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
refactor: Replace static variable with data member
This commit is contained in:
parent
2bede28cd9
commit
e4caa82a03
2 changed files with 19 additions and 26 deletions
|
@ -23,9 +23,6 @@
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
/* Total required space (in GB) depending on user choice (prune, not prune) */
|
|
||||||
static int64_t requiredSpace;
|
|
||||||
|
|
||||||
/* Check free space asynchronously to prevent hanging the UI thread.
|
/* Check free space asynchronously to prevent hanging the UI thread.
|
||||||
|
|
||||||
Up to one request to check a path is in flight to this thread; when the check()
|
Up to one request to check a path is in flight to this thread; when the check()
|
||||||
|
@ -111,13 +108,13 @@ void FreespaceChecker::check()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Intro::Intro(QWidget *parent, uint64_t blockchain_size, uint64_t chain_state_size) :
|
Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t chain_state_size_gb) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
ui(new Ui::Intro),
|
ui(new Ui::Intro),
|
||||||
thread(nullptr),
|
thread(nullptr),
|
||||||
signalled(false),
|
signalled(false),
|
||||||
m_blockchain_size(blockchain_size),
|
m_blockchain_size_gb(blockchain_size_gb),
|
||||||
m_chain_state_size(chain_state_size)
|
m_chain_state_size_gb(chain_state_size_gb)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(PACKAGE_NAME));
|
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(PACKAGE_NAME));
|
||||||
|
@ -125,7 +122,7 @@ Intro::Intro(QWidget *parent, uint64_t blockchain_size, uint64_t chain_state_siz
|
||||||
|
|
||||||
ui->lblExplanation1->setText(ui->lblExplanation1->text()
|
ui->lblExplanation1->setText(ui->lblExplanation1->text()
|
||||||
.arg(PACKAGE_NAME)
|
.arg(PACKAGE_NAME)
|
||||||
.arg(m_blockchain_size)
|
.arg(m_blockchain_size_gb)
|
||||||
.arg(2009)
|
.arg(2009)
|
||||||
.arg(tr("Bitcoin"))
|
.arg(tr("Bitcoin"))
|
||||||
);
|
);
|
||||||
|
@ -138,21 +135,16 @@ Intro::Intro(QWidget *parent, uint64_t blockchain_size, uint64_t chain_state_siz
|
||||||
}
|
}
|
||||||
const int prune_target_gb = PruneMiBtoGB(prune_target_mib);
|
const int prune_target_gb = PruneMiBtoGB(prune_target_mib);
|
||||||
ui->prune->setText(tr("Discard blocks after verification, except most recent %1 GB (prune)").arg(prune_target_gb ? prune_target_gb : DEFAULT_PRUNE_TARGET_GB));
|
ui->prune->setText(tr("Discard blocks after verification, except most recent %1 GB (prune)").arg(prune_target_gb ? prune_target_gb : DEFAULT_PRUNE_TARGET_GB));
|
||||||
requiredSpace = m_blockchain_size;
|
m_required_space_gb = m_blockchain_size_gb + m_chain_state_size_gb;
|
||||||
QString storageRequiresMsg = tr("At least %1 GB of data will be stored in this directory, and it will grow over time.");
|
QString storageRequiresMsg = tr("At least %1 GB of data will be stored in this directory, and it will grow over time.");
|
||||||
if (prune_target_gb) {
|
if (0 < prune_target_gb && prune_target_gb <= m_blockchain_size_gb) {
|
||||||
if (prune_target_gb <= requiredSpace) {
|
m_required_space_gb = prune_target_gb + m_chain_state_size_gb;
|
||||||
requiredSpace = prune_target_gb;
|
storageRequiresMsg = tr("Approximately %1 GB of data will be stored in this directory.");
|
||||||
storageRequiresMsg = tr("Approximately %1 GB of data will be stored in this directory.");
|
|
||||||
}
|
|
||||||
ui->lblExplanation3->setVisible(true);
|
|
||||||
} else {
|
|
||||||
ui->lblExplanation3->setVisible(false);
|
|
||||||
}
|
}
|
||||||
requiredSpace += m_chain_state_size;
|
ui->lblExplanation3->setVisible(prune_target_gb > 0);
|
||||||
ui->sizeWarningLabel->setText(
|
ui->sizeWarningLabel->setText(
|
||||||
tr("%1 will download and store a copy of the Bitcoin block chain.").arg(PACKAGE_NAME) + " " +
|
tr("%1 will download and store a copy of the Bitcoin block chain.").arg(PACKAGE_NAME) + " " +
|
||||||
storageRequiresMsg.arg(requiredSpace) + " " +
|
storageRequiresMsg.arg(m_required_space_gb) + " " +
|
||||||
tr("The wallet will also be stored in this directory.")
|
tr("The wallet will also be stored in this directory.")
|
||||||
);
|
);
|
||||||
this->adjustSize();
|
this->adjustSize();
|
||||||
|
@ -272,13 +264,12 @@ void Intro::setStatus(int status, const QString &message, quint64 bytesAvailable
|
||||||
ui->freeSpace->setText("");
|
ui->freeSpace->setText("");
|
||||||
} else {
|
} else {
|
||||||
QString freeString = tr("%n GB of free space available", "", bytesAvailable/GB_BYTES);
|
QString freeString = tr("%n GB of free space available", "", bytesAvailable/GB_BYTES);
|
||||||
if(bytesAvailable < requiredSpace * GB_BYTES)
|
if (bytesAvailable < m_required_space_gb * GB_BYTES) {
|
||||||
{
|
freeString += " " + tr("(of %n GB needed)", "", m_required_space_gb);
|
||||||
freeString += " " + tr("(of %n GB needed)", "", requiredSpace);
|
|
||||||
ui->freeSpace->setStyleSheet("QLabel { color: #800000 }");
|
ui->freeSpace->setStyleSheet("QLabel { color: #800000 }");
|
||||||
ui->prune->setChecked(true);
|
ui->prune->setChecked(true);
|
||||||
} else if (bytesAvailable / GB_BYTES - requiredSpace < 10) {
|
} else if (bytesAvailable / GB_BYTES - m_required_space_gb < 10) {
|
||||||
freeString += " " + tr("(%n GB needed for full chain)", "", requiredSpace);
|
freeString += " " + tr("(%n GB needed for full chain)", "", m_required_space_gb);
|
||||||
ui->freeSpace->setStyleSheet("QLabel { color: #999900 }");
|
ui->freeSpace->setStyleSheet("QLabel { color: #999900 }");
|
||||||
ui->prune->setChecked(true);
|
ui->prune->setChecked(true);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -31,7 +31,7 @@ class Intro : public QDialog
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit Intro(QWidget *parent = nullptr,
|
explicit Intro(QWidget *parent = nullptr,
|
||||||
uint64_t blockchain_size = 0, uint64_t chain_state_size = 0);
|
int64_t blockchain_size_gb = 0, int64_t chain_state_size_gb = 0);
|
||||||
~Intro();
|
~Intro();
|
||||||
|
|
||||||
QString getDataDirectory();
|
QString getDataDirectory();
|
||||||
|
@ -67,8 +67,10 @@ private:
|
||||||
QMutex mutex;
|
QMutex mutex;
|
||||||
bool signalled;
|
bool signalled;
|
||||||
QString pathToCheck;
|
QString pathToCheck;
|
||||||
uint64_t m_blockchain_size;
|
const int64_t m_blockchain_size_gb;
|
||||||
uint64_t m_chain_state_size;
|
const int64_t m_chain_state_size_gb;
|
||||||
|
//! Total required space (in GB) depending on user choice (prune or not prune).
|
||||||
|
int64_t m_required_space_gb{0};
|
||||||
|
|
||||||
void startThread();
|
void startThread();
|
||||||
void checkPath(const QString &dataDir);
|
void checkPath(const QString &dataDir);
|
||||||
|
|
Loading…
Add table
Reference in a new issue