Skip to content

Commit dc3771e

Browse files
committed
merge bitcoin-core/gui#658: Never change the prune checkbox after the user has touched it
1 parent 9f103fb commit dc3771e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/qt/intro.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,9 @@ Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t chain_state_si
143143

144144
const int min_prune_target_GB = std::ceil(MIN_DISK_SPACE_FOR_BLOCK_FILES / 1e9);
145145
ui->pruneGB->setRange(min_prune_target_GB, std::numeric_limits<int>::max());
146-
if (gArgs.GetIntArg("-prune", 0) > 1) { // -prune=1 means enabled, above that it's a size in MiB
147-
ui->prune->setChecked(true);
146+
if (gArgs.IsArgSet("-prune")) {
147+
m_prune_checkbox_is_default = false;
148+
ui->prune->setChecked(gArgs.GetIntArg("-prune", 0) >= 1);
148149
ui->prune->setEnabled(false);
149150
}
150151
ui->pruneGB->setValue(m_prune_target_gb);
@@ -153,6 +154,7 @@ Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t chain_state_si
153154
UpdatePruneLabels(ui->prune->isChecked());
154155

155156
connect(ui->prune, &QCheckBox::toggled, [this](bool prune_checked) {
157+
m_prune_checkbox_is_default = false;
156158
UpdatePruneLabels(prune_checked);
157159
UpdateFreeSpaceLabel();
158160
});
@@ -293,7 +295,7 @@ void Intro::setStatus(int status, const QString &message, quint64 bytesAvailable
293295
ui->freeSpace->setText("");
294296
} else {
295297
m_bytes_available = bytesAvailable;
296-
if (ui->prune->isEnabled() && !(gArgs.IsArgSet("-prune") && gArgs.GetIntArg("-prune", 0) == 0)) {
298+
if (ui->prune->isEnabled() && m_prune_checkbox_is_default) {
297299
ui->prune->setChecked(m_bytes_available < (m_blockchain_size_gb + m_chain_state_size_gb + 10) * GB_BYTES);
298300
}
299301
UpdateFreeSpaceLabel();

src/qt/intro.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ private Q_SLOTS:
6464

6565
private:
6666
Ui::Intro *ui;
67+
bool m_prune_checkbox_is_default{true};
6768
QThread *thread;
6869
QMutex mutex;
6970
bool signalled;

0 commit comments

Comments
 (0)