|
|
|
@ -220,6 +220,36 @@ void SendCoinsDialog::on_sendButton_clicked()
@@ -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()
@@ -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"); |
|
|
|
|
|
|
|
|
|