|
26 | 26 | #include <primitives/transaction.h> // for WITNESS_SCALE_FACTOR
|
27 | 27 | #include <txdb.h>
|
28 | 28 | #include <txmempool.h> // for maxmempoolMinimum
|
| 29 | +#include <util/check.h> |
29 | 30 | #include <util/strencodings.h>
|
30 | 31 | #include <chrono>
|
31 | 32 | #include <utility>
|
@@ -95,9 +96,24 @@ void OptionsDialog::CreateOptionUI(QBoxLayout * const layout, QWidget * const o,
|
95 | 96 |
|
96 | 97 | layout->addLayout(horizontalLayout);
|
97 | 98 |
|
| 99 | + o->setProperty("L", QVariant::fromValue((QLayout*)horizontalLayout)); |
| 100 | + |
98 | 101 | FixTabOrder(o);
|
99 | 102 | }
|
100 | 103 |
|
| 104 | +static void setSiblingsEnabled(QWidget * const o, const bool state) |
| 105 | +{ |
| 106 | + auto layout = o->property("L").value<QLayout*>(); |
| 107 | + Assert(layout); |
| 108 | + // NOTE: QLayout::children does not do what we need here |
| 109 | + for (int i = layout->count(); i-- > 0; ) { |
| 110 | + QLayoutItem * const layoutitem = layout->itemAt(i); |
| 111 | + QWidget * const childwidget = layoutitem->widget(); |
| 112 | + if (!childwidget) continue; |
| 113 | + childwidget->setEnabled(state); |
| 114 | + } |
| 115 | +} |
| 116 | + |
101 | 117 | int setFontChoice(QComboBox* cb, const OptionsModel::FontChoice& fc)
|
102 | 118 | {
|
103 | 119 | int i;
|
@@ -417,15 +433,12 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
417 | 433 |
|
418 | 434 | connect(dustdynamic_enable, &QAbstractButton::toggled, [this](const bool state){
|
419 | 435 | dustdynamic_multiplier->setEnabled(state);
|
420 |
| - dustdynamic_target->setEnabled(state); |
421 |
| - dustdynamic_mempool->setEnabled(state); |
| 436 | + setSiblingsEnabled(dustdynamic_target_blocks, state); |
| 437 | + setSiblingsEnabled(dustdynamic_mempool_kvB, state); |
422 | 438 | if (state) {
|
423 | 439 | if (!dustdynamic_mempool->isChecked()) dustdynamic_target->setChecked(true);
|
424 | 440 | dustdynamic_target_blocks->setEnabled(dustdynamic_target->isChecked());
|
425 | 441 | dustdynamic_mempool_kvB->setEnabled(dustdynamic_mempool->isChecked());
|
426 |
| - } else { |
427 |
| - dustdynamic_target_blocks->setEnabled(false); |
428 |
| - dustdynamic_mempool_kvB->setEnabled(false); |
429 | 442 | }
|
430 | 443 | });
|
431 | 444 | dustdynamic_enable->toggled(dustdynamic_enable->isChecked());
|
|
0 commit comments