|
|
|
@ -220,6 +220,36 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fNewRecipientAllowed = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WalletModel::UnlockContext ctx(model->requestUnlock());
|
|
|
|
|
if(!ctx.isValid())
|
|
|
|
|
{
|
|
|
|
|
// Unlock wallet was cancelled
|
|
|
|
|
fNewRecipientAllowed = true;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// prepare transaction for getting txFee earlier
|
|
|
|
|
WalletModelTransaction currentTransaction(recipients);
|
|
|
|
|
WalletModel::SendCoinsReturn prepareStatus;
|
|
|
|
|
if (model->getOptionsModel()->getCoinControlFeatures()) // coin control enabled
|
|
|
|
|
prepareStatus = model->prepareTransaction(currentTransaction, CoinControlDialog::coinControl);
|
|
|
|
|
else
|
|
|
|
|
prepareStatus = model->prepareTransaction(currentTransaction);
|
|
|
|
|
|
|
|
|
|
// process prepareStatus and on error generate message shown to user
|
|
|
|
|
processSendCoinsReturn(prepareStatus,
|
|
|
|
|
BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), currentTransaction.getTransactionFee()));
|
|
|
|
|
|
|
|
|
|
if(prepareStatus.status != WalletModel::OK) {
|
|
|
|
|
fNewRecipientAllowed = true;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CAmount txFee = currentTransaction.getTransactionFee();
|
|
|
|
|
|
|
|
|
|
// Format confirmation message
|
|
|
|
|
QStringList formatted;
|
|
|
|
|
foreach(const SendCoinsRecipient &rcp, recipients)
|
|
|
|
@ -257,35 +287,6 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
formatted.append(recipientElement);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fNewRecipientAllowed = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WalletModel::UnlockContext ctx(model->requestUnlock());
|
|
|
|
|
if(!ctx.isValid())
|
|
|
|
|
{
|
|
|
|
|
// Unlock wallet was cancelled
|
|
|
|
|
fNewRecipientAllowed = true;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// prepare transaction for getting txFee earlier
|
|
|
|
|
WalletModelTransaction currentTransaction(recipients);
|
|
|
|
|
WalletModel::SendCoinsReturn prepareStatus;
|
|
|
|
|
if (model->getOptionsModel()->getCoinControlFeatures()) // coin control enabled
|
|
|
|
|
prepareStatus = model->prepareTransaction(currentTransaction, CoinControlDialog::coinControl);
|
|
|
|
|
else
|
|
|
|
|
prepareStatus = model->prepareTransaction(currentTransaction);
|
|
|
|
|
|
|
|
|
|
// process prepareStatus and on error generate message shown to user
|
|
|
|
|
processSendCoinsReturn(prepareStatus,
|
|
|
|
|
BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), currentTransaction.getTransactionFee()));
|
|
|
|
|
|
|
|
|
|
if(prepareStatus.status != WalletModel::OK) {
|
|
|
|
|
fNewRecipientAllowed = true;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CAmount txFee = currentTransaction.getTransactionFee();
|
|
|
|
|
QString questionString = tr("Are you sure you want to send?");
|
|
|
|
|
questionString.append("<br /><br />%1");
|
|
|
|
|
|
|
|
|
|