mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-08 10:31:50 -05:00
gui: Add Intro::UpdateFreeSpaceLabel()
If a new custom datadir has enough free space, the prune checkbox gets unchecked, unless -prune=NNN command-line option is provided.
This commit is contained in:
parent
daa3f3fa90
commit
4824a7d36c
2 changed files with 21 additions and 12 deletions
|
@ -251,24 +251,31 @@ void Intro::setStatus(int status, const QString &message, quint64 bytesAvailable
|
|||
{
|
||||
ui->freeSpace->setText("");
|
||||
} else {
|
||||
QString freeString = tr("%n GB of free space available", "", bytesAvailable/GB_BYTES);
|
||||
if (bytesAvailable < m_required_space_gb * GB_BYTES) {
|
||||
freeString += " " + tr("(of %n GB needed)", "", m_required_space_gb);
|
||||
ui->freeSpace->setStyleSheet("QLabel { color: #800000 }");
|
||||
ui->prune->setChecked(true);
|
||||
} else if (bytesAvailable / GB_BYTES - m_required_space_gb < 10) {
|
||||
freeString += " " + tr("(%n GB needed for full chain)", "", m_required_space_gb);
|
||||
ui->freeSpace->setStyleSheet("QLabel { color: #999900 }");
|
||||
ui->prune->setChecked(true);
|
||||
} else {
|
||||
ui->freeSpace->setStyleSheet("");
|
||||
m_bytes_available = bytesAvailable;
|
||||
if (ui->prune->isEnabled()) {
|
||||
ui->prune->setChecked(m_bytes_available < (m_blockchain_size_gb + m_chain_state_size_gb + 10) * GB_BYTES);
|
||||
}
|
||||
ui->freeSpace->setText(freeString + ".");
|
||||
UpdateFreeSpaceLabel();
|
||||
}
|
||||
/* Don't allow confirm in ERROR state */
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(status != FreespaceChecker::ST_ERROR);
|
||||
}
|
||||
|
||||
void Intro::UpdateFreeSpaceLabel()
|
||||
{
|
||||
QString freeString = tr("%n GB of free space available", "", m_bytes_available / GB_BYTES);
|
||||
if (m_bytes_available < m_required_space_gb * GB_BYTES) {
|
||||
freeString += " " + tr("(of %n GB needed)", "", m_required_space_gb);
|
||||
ui->freeSpace->setStyleSheet("QLabel { color: #800000 }");
|
||||
} else if (m_bytes_available / GB_BYTES - m_required_space_gb < 10) {
|
||||
freeString += " " + tr("(%n GB needed for full chain)", "", m_required_space_gb);
|
||||
ui->freeSpace->setStyleSheet("QLabel { color: #999900 }");
|
||||
} else {
|
||||
ui->freeSpace->setStyleSheet("");
|
||||
}
|
||||
ui->freeSpace->setText(freeString + ".");
|
||||
}
|
||||
|
||||
void Intro::on_dataDirectory_textChanged(const QString &dataDirStr)
|
||||
{
|
||||
/* Disable OK button until check result comes in */
|
||||
|
|
|
@ -71,11 +71,13 @@ private:
|
|||
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};
|
||||
uint64_t m_bytes_available{0};
|
||||
|
||||
void startThread();
|
||||
void checkPath(const QString &dataDir);
|
||||
QString getPathToCheck();
|
||||
void UpdatePruneLabels(int64_t prune_target_gb);
|
||||
void UpdateFreeSpaceLabel();
|
||||
|
||||
friend class FreespaceChecker;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue