|
|
|
@ -279,18 +279,16 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
QStringList formatted;
|
|
|
|
|
for (const SendCoinsRecipient &rcp : currentTransaction.getRecipients())
|
|
|
|
|
{
|
|
|
|
|
// generate bold amount string with wallet name in case of multiwallet
|
|
|
|
|
QString amount = "<b>" + BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), rcp.amount);
|
|
|
|
|
// generate amount string with wallet name in case of multiwallet
|
|
|
|
|
QString amount = BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), rcp.amount);
|
|
|
|
|
if (model->isMultiwallet()) {
|
|
|
|
|
amount.append(" <u>"+tr("from wallet %1").arg(GUIUtil::HtmlEscape(model->getWalletName()))+"</u> ");
|
|
|
|
|
amount.append(tr(" from wallet '%1'").arg(model->getWalletName()));
|
|
|
|
|
}
|
|
|
|
|
amount.append("</b>");
|
|
|
|
|
// generate monospace address string
|
|
|
|
|
QString address = "<span style='font-family: monospace;'>" + rcp.address;
|
|
|
|
|
address.append("</span>");
|
|
|
|
|
|
|
|
|
|
// generate address string
|
|
|
|
|
QString address = rcp.address;
|
|
|
|
|
|
|
|
|
|
QString recipientElement;
|
|
|
|
|
recipientElement = "<br />";
|
|
|
|
|
|
|
|
|
|
#ifdef ENABLE_BIP70
|
|
|
|
|
if (!rcp.paymentRequest.IsInitialized()) // normal payment
|
|
|
|
@ -298,7 +296,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
{
|
|
|
|
|
if(rcp.label.length() > 0) // label with address
|
|
|
|
|
{
|
|
|
|
|
recipientElement.append(tr("%1 to %2").arg(amount, GUIUtil::HtmlEscape(rcp.label)));
|
|
|
|
|
recipientElement.append(tr("%1 to '%2'").arg(amount, rcp.label));
|
|
|
|
|
recipientElement.append(QString(" (%1)").arg(address));
|
|
|
|
|
}
|
|
|
|
|
else // just address
|
|
|
|
@ -309,7 +307,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
#ifdef ENABLE_BIP70
|
|
|
|
|
else if(!rcp.authenticatedMerchant.isEmpty()) // authenticated payment request
|
|
|
|
|
{
|
|
|
|
|
recipientElement.append(tr("%1 to %2").arg(amount, GUIUtil::HtmlEscape(rcp.authenticatedMerchant)));
|
|
|
|
|
recipientElement.append(tr("%1 to '%2'").arg(amount, rcp.authenticatedMerchant));
|
|
|
|
|
}
|
|
|
|
|
else // unauthenticated payment request
|
|
|
|
|
{
|
|
|
|
@ -323,7 +321,7 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
QString questionString = tr("Are you sure you want to send?");
|
|
|
|
|
questionString.append("<br /><span style='font-size:10pt;'>");
|
|
|
|
|
questionString.append(tr("Please, review your transaction."));
|
|
|
|
|
questionString.append("</span><br />%1");
|
|
|
|
|
questionString.append("</span>%1");
|
|
|
|
|
|
|
|
|
|
if(txFee > 0)
|
|
|
|
|
{
|
|
|
|
@ -364,8 +362,17 @@ void SendCoinsDialog::on_sendButton_clicked()
|
|
|
|
|
questionString.append(QString("<br /><span style='font-size:10pt; font-weight:normal;'>(=%1)</span>")
|
|
|
|
|
.arg(alternativeUnits.join(" " + tr("or") + " ")));
|
|
|
|
|
|
|
|
|
|
SendConfirmationDialog confirmationDialog(tr("Confirm send coins"),
|
|
|
|
|
questionString.arg(formatted.join("<br />")), SEND_CONFIRM_DELAY, this);
|
|
|
|
|
QString informative_text;
|
|
|
|
|
QString detailed_text;
|
|
|
|
|
if (formatted.size() > 1) {
|
|
|
|
|
questionString = questionString.arg("");
|
|
|
|
|
informative_text = tr("To review recipient list click \"Show Details...\"");
|
|
|
|
|
detailed_text = formatted.join("\n\n");
|
|
|
|
|
} else {
|
|
|
|
|
questionString = questionString.arg("<br /><br />" + formatted.at(0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SendConfirmationDialog confirmationDialog(tr("Confirm send coins"), questionString, informative_text, detailed_text, SEND_CONFIRM_DELAY, this);
|
|
|
|
|
confirmationDialog.exec();
|
|
|
|
|
QMessageBox::StandardButton retval = static_cast<QMessageBox::StandardButton>(confirmationDialog.result());
|
|
|
|
|
|
|
|
|
@ -881,10 +888,15 @@ void SendCoinsDialog::coinControlUpdateLabels()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SendConfirmationDialog::SendConfirmationDialog(const QString &title, const QString &text, int _secDelay,
|
|
|
|
|
QWidget *parent) :
|
|
|
|
|
QMessageBox(QMessageBox::Question, title, text, QMessageBox::Yes | QMessageBox::Cancel, parent), secDelay(_secDelay)
|
|
|
|
|
SendConfirmationDialog::SendConfirmationDialog(const QString& title, const QString& text, const QString& informative_text, const QString& detailed_text, int _secDelay, QWidget* parent)
|
|
|
|
|
: QMessageBox(parent), secDelay(_secDelay)
|
|
|
|
|
{
|
|
|
|
|
setIcon(QMessageBox::Question);
|
|
|
|
|
setWindowTitle(title); // On macOS, the window title is ignored (as required by the macOS Guidelines).
|
|
|
|
|
setText(text);
|
|
|
|
|
setInformativeText(informative_text);
|
|
|
|
|
setDetailedText(detailed_text);
|
|
|
|
|
setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
|
|
|
|
|
setDefaultButton(QMessageBox::Cancel);
|
|
|
|
|
yesButton = button(QMessageBox::Yes);
|
|
|
|
|
updateYesButton();
|
|
|
|
|