@@ -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 ();
0 commit comments