From e8f3dbeb28cb84f81a54ac847ef48eaa2612755e Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Tue, 7 Feb 2017 23:28:03 +0000 Subject: [PATCH] Qt/Options: Configure blockreconstructionextratxn using rwconf --- src/qt/optionsdialog.cpp | 13 +++++++++++++ src/qt/optionsdialog.h | 2 ++ src/qt/optionsmodel.cpp | 9 +++++++++ src/qt/optionsmodel.h | 1 + 4 files changed, 25 insertions(+) diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index d910d7285b..881a7bf5fe 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -200,6 +200,17 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet) ui->verticalLayout_Wallet->insertWidget(0, walletrbf); FixTabOrder(walletrbf); + /* Network tab */ + QLayoutItem *spacer = ui->verticalLayout_Network->takeAt(ui->verticalLayout_Network->count() - 1); + prevwidget = dynamic_cast(ui->verticalLayout_Network->itemAt(ui->verticalLayout_Network->count() - 1))->widget(); + + blockreconstructionextratxn = new QSpinBox(ui->tabNetwork); + blockreconstructionextratxn->setMinimum(0); + blockreconstructionextratxn->setMaximum(std::numeric_limits::max()); + CreateOptionUI(ui->verticalLayout_Network, blockreconstructionextratxn, tr("Keep at most %s extra transactions in memory for compact block reconstruction")); + + ui->verticalLayout_Network->addItem(spacer); + prevwidget = ui->peerbloomfilters; /* Mempool tab */ @@ -550,6 +561,8 @@ void OptionsDialog::setMapper() ui->peerblockfilters->setToolTip(ui->peerblockfilters->toolTip() + " " + tr("(only available if enabled at least once before turning on pruning)")); } + mapper->addMapping(blockreconstructionextratxn, OptionsModel::blockreconstructionextratxn); + /* Mempool tab */ QVariant current_mempoolreplacement = model->data(model->index(OptionsModel::mempoolreplacement, 0), Qt::EditRole); diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h index e0bec76e3e..e99ca735d4 100644 --- a/src/qt/optionsdialog.h +++ b/src/qt/optionsdialog.h @@ -96,6 +96,8 @@ private: QCheckBox *walletrbf; + QSpinBox *blockreconstructionextratxn; + QValueComboBox *mempoolreplacement; QSpinBox *maxorphantx; QSpinBox *maxmempool; diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 07a6455b24..28a8d013b7 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -675,6 +675,8 @@ QVariant OptionsModel::getOption(OptionID option, const std::string& suffix) con return qlonglong(gArgs.GetIntArg("-blockprioritysize", DEFAULT_BLOCK_PRIORITY_SIZE) / 1000); case blockmaxweight: return qlonglong(gArgs.GetIntArg("-blockmaxweight", DEFAULT_BLOCK_MAX_WEIGHT) / 1000); + case blockreconstructionextratxn: + return qlonglong(gArgs.GetIntArg("-blockreconstructionextratxn", DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN)); default: return QVariant(); } @@ -1176,6 +1178,13 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value, const std:: gArgs.ModifyRWConfigFile(strKey, strNv); } break; + case blockreconstructionextratxn: + if (changed()) { + std::string strNv = value.toString().toStdString(); + gArgs.ForceSetArg("-blockreconstructionextratxn", strNv); + gArgs.ModifyRWConfigFile("blockreconstructionextratxn", strNv); + } + break; default: break; } diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index bfb9c45131..5b3ba871f9 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -98,6 +98,7 @@ public: blockmaxsize, blockprioritysize, blockmaxweight, + blockreconstructionextratxn, OptionIDRowCount, };