mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
[gui] Defer coin control instancing
Defer the GUI coin control instancing so that argument processing is taken into account for the default coin control values.
This commit is contained in:
@@ -256,7 +256,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
||||
// Always use a CCoinControl instance, use the CoinControlDialog instance if CoinControl has been enabled
|
||||
CCoinControl ctrl;
|
||||
if (model->getOptionsModel()->getCoinControlFeatures())
|
||||
ctrl = *CoinControlDialog::coinControl;
|
||||
ctrl = *CoinControlDialog::coinControl();
|
||||
|
||||
updateCoinControlState(ctrl);
|
||||
|
||||
@@ -367,7 +367,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
||||
if (sendStatus.status == WalletModel::OK)
|
||||
{
|
||||
accept();
|
||||
CoinControlDialog::coinControl->UnSelectAll();
|
||||
CoinControlDialog::coinControl()->UnSelectAll();
|
||||
coinControlUpdateLabels();
|
||||
}
|
||||
fNewRecipientAllowed = true;
|
||||
@@ -604,7 +604,7 @@ void SendCoinsDialog::useAvailableBalance(SendCoinsEntry* entry)
|
||||
// Get CCoinControl instance if CoinControl is enabled or create a new one.
|
||||
CCoinControl coin_control;
|
||||
if (model->getOptionsModel()->getCoinControlFeatures()) {
|
||||
coin_control = *CoinControlDialog::coinControl;
|
||||
coin_control = *CoinControlDialog::coinControl();
|
||||
}
|
||||
|
||||
// Calculate available amount to send.
|
||||
@@ -754,7 +754,7 @@ void SendCoinsDialog::coinControlFeatureChanged(bool checked)
|
||||
ui->frameCoinControl->setVisible(checked);
|
||||
|
||||
if (!checked && model) // coin control features disabled
|
||||
CoinControlDialog::coinControl->SetNull();
|
||||
CoinControlDialog::coinControl()->SetNull();
|
||||
|
||||
coinControlUpdateLabels();
|
||||
}
|
||||
@@ -773,7 +773,7 @@ void SendCoinsDialog::coinControlChangeChecked(int state)
|
||||
{
|
||||
if (state == Qt::Unchecked)
|
||||
{
|
||||
CoinControlDialog::coinControl->destChange = CNoDestination();
|
||||
CoinControlDialog::coinControl()->destChange = CNoDestination();
|
||||
ui->labelCoinControlChangeLabel->clear();
|
||||
}
|
||||
else
|
||||
@@ -789,7 +789,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
if (model && model->getAddressTableModel())
|
||||
{
|
||||
// Default to no change address until verified
|
||||
CoinControlDialog::coinControl->destChange = CNoDestination();
|
||||
CoinControlDialog::coinControl()->destChange = CNoDestination();
|
||||
ui->labelCoinControlChangeLabel->setStyleSheet("QLabel{color:red;}");
|
||||
|
||||
const CTxDestination dest = DecodeDestination(text.toStdString());
|
||||
@@ -812,7 +812,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
|
||||
|
||||
if(btnRetVal == QMessageBox::Yes)
|
||||
CoinControlDialog::coinControl->destChange = dest;
|
||||
CoinControlDialog::coinControl()->destChange = dest;
|
||||
else
|
||||
{
|
||||
ui->lineEditCoinControlChange->setText("");
|
||||
@@ -831,7 +831,7 @@ void SendCoinsDialog::coinControlChangeEdited(const QString& text)
|
||||
else
|
||||
ui->labelCoinControlChangeLabel->setText(tr("(no label)"));
|
||||
|
||||
CoinControlDialog::coinControl->destChange = dest;
|
||||
CoinControlDialog::coinControl()->destChange = dest;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -843,7 +843,7 @@ void SendCoinsDialog::coinControlUpdateLabels()
|
||||
if (!model || !model->getOptionsModel())
|
||||
return;
|
||||
|
||||
updateCoinControlState(*CoinControlDialog::coinControl);
|
||||
updateCoinControlState(*CoinControlDialog::coinControl());
|
||||
|
||||
// set pay amounts
|
||||
CoinControlDialog::payAmounts.clear();
|
||||
@@ -861,7 +861,7 @@ void SendCoinsDialog::coinControlUpdateLabels()
|
||||
}
|
||||
}
|
||||
|
||||
if (CoinControlDialog::coinControl->HasSelected())
|
||||
if (CoinControlDialog::coinControl()->HasSelected())
|
||||
{
|
||||
// actual coin control calculation
|
||||
CoinControlDialog::updateLabels(model, this);
|
||||
|
||||
Reference in New Issue
Block a user