From b6bb54b6aef4c8153860be88f98d39004e95a03d Mon Sep 17 00:00:00 2001 From: Block Mechanic Date: Sun, 25 Dec 2022 21:50:27 +0200 Subject: [PATCH] minor --- .release | 2 +- configure.ac | 2 +- src/qt/sendcoinsdialog.cpp | 27 ++++++++++++++++++++++++--- src/qt/sendcoinsdialog.h | 1 + src/qt/sendcollateraldialog.cpp | 3 ++- 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/.release b/.release index f1421bb..87bf986 100755 --- a/.release +++ b/.release @@ -1 +1 @@ -0.0.0.84 +0.0.0.88 diff --git a/configure.ac b/configure.ac index 65cb382..92be292 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ AC_PREREQ([2.69]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 21) -define(_CLIENT_VERSION_BUILD, 84) +define(_CLIENT_VERSION_BUILD, 88) define(_CLIENT_VERSION_RC, ) define(_CLIENT_VERSION_IS_RELEASE, false) define(_COPYRIGHT_YEAR, 2022) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index cb611a3..fb4cf52 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -37,6 +37,7 @@ #include #include #include +#include static const std::array confTargets = { {2, 4, 6, 12, 24, 48, 144, 504, 1008} }; int getConfTargetForIndex(int index) { @@ -239,7 +240,7 @@ SendCoinsDialog::~SendCoinsDialog() void SendCoinsDialog::checkAndSend(const QList &recipients, QStringList formatted) { - fNewRecipientAllowed = false; + /* fNewRecipientAllowed = false; WalletModel::EncryptionStatus encStatus = model->getEncryptionStatus(); if(encStatus == model->Locked) { WalletModel::UnlockContext ctx(model->requestUnlock()); @@ -250,7 +251,10 @@ void SendCoinsDialog::checkAndSend(const QList &recipients, send(recipients, formatted); return; } - send(recipients, formatted); + send(recipients, formatted);*/ + m_recipients = recipients; + on_sendButton_clicked(); + m_recipients.clear(); } QStringList SendCoinsDialog::constructConfirmationMessage(QList& recipients) @@ -284,7 +288,7 @@ QStringList SendCoinsDialog::constructConfirmationMessage(QList recipients; + QList recipients; bool valid = true; for(int i = 0; i < ui->entries->count(); ++i) @@ -303,6 +307,7 @@ bool SendCoinsDialog::PrepareSendText(QString& question_string, QString& informa } } } + recipients += m_recipients; if(!valid || recipients.isEmpty()) { @@ -361,6 +366,11 @@ bool SendCoinsDialog::PrepareSendText(QString& question_string, QString& informa } } formatted.append(recipientElement); + + //Restricted assets should always have change set to go to the contract address + if(rcp.asset.isRestricted()) + m_coin_control->destChange = DecodeDestination(rcp.asset.sIssuingaddress); + } if (model->wallet().privateKeysDisabled()) { @@ -430,6 +440,8 @@ bool SendCoinsDialog::PrepareSendText(QString& question_string, QString& informa void SendCoinsDialog::send(const QList &recipients, QStringList formatted) { QString strFee = ""; + qDebug() << __func__ << "1 : "; + // prepare transaction for getting txFee earlier WalletModelTransaction currentTransaction(recipients); WalletModel::SendCoinsReturn prepareStatus; @@ -440,12 +452,14 @@ void SendCoinsDialog::send(const QList &recipients, QString if(rcp.asset.isRestricted()) coinControl.destChange = DecodeDestination(rcp.asset.sIssuingaddress); } + qDebug() << __func__ << "2 : "; if (model->getOptionsModel()->getCoinControlFeatures()) // coin control enabled prepareStatus = model->prepareTransaction(currentTransaction, coinControl); // process prepareStatus and on error generate message shown to user processSendCoinsReturn(prepareStatus,formatMultiAssetAmount(currentTransaction.getTransactionFee(), model->getOptionsModel()->getDisplayUnit(), CrownUnits::SeparatorStyle::ALWAYS, "\n")); + qDebug() << __func__ << "3 : "; if(prepareStatus.status != WalletModel::OK) { fNewRecipientAllowed = true; @@ -455,6 +469,7 @@ void SendCoinsDialog::send(const QList &recipients, QString CAmountMap txFee = currentTransaction.getTransactionFee(); QString questionString = tr("Are you sure you want to send?"); questionString.append("

%1"); + qDebug() << __func__ << "4 : "; if(txFee > CAmountMap()) { @@ -479,6 +494,7 @@ void SendCoinsDialog::send(const QList &recipients, QString //if(u != model->getOptionsModel()->getDisplayUnit()) // alternativeUnits.append(CrownUnits::formatHtmlWithUnit(u, totalAmount)); } + qDebug() << __func__ << "5 : "; // Show total amount + all alternative units questionString.append(tr("Total Amount = %1
= %2") @@ -500,6 +516,7 @@ void SendCoinsDialog::send(const QList &recipients, QString } questionString.append("
"); questionString.append(tr("(%1 of %2 entries displayed)").arg(displayedEntries).arg(messageEntries)); + qDebug() << __func__ << "6 : "; // Display message box QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), @@ -512,11 +529,13 @@ void SendCoinsDialog::send(const QList &recipients, QString fNewRecipientAllowed = true; return; } + qDebug() << __func__ << "7 : "; // now send the prepared transaction WalletModel::SendCoinsReturn sendStatus = model->sendCoins(currentTransaction); // process sendStatus and on error generate message shown to user processSendCoinsReturn(sendStatus); + qDebug() << __func__ << "8 : "; if (sendStatus.status == WalletModel::OK) { @@ -524,6 +543,8 @@ void SendCoinsDialog::send(const QList &recipients, QString coinControl.UnSelectAll(); coinControlUpdateLabels(); } + qDebug() << __func__ << "9 : "; + fNewRecipientAllowed = true; } diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index 8d6daf6..3e9814f 100644 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -57,6 +57,7 @@ class SendCoinsDialog : public QDialog // of a message and message flags for use in Q_EMIT message(). // Additional parameter msgArg can be used via .arg(msgArg). void processSendCoinsReturn(const WalletModel::SendCoinsReturn &sendCoinsReturn, const QString &msgArg = QString()); + QList m_recipients; public Q_SLOTS: void clear(); diff --git a/src/qt/sendcollateraldialog.cpp b/src/qt/sendcollateraldialog.cpp index fc58d95..8e59ca9 100644 --- a/src/qt/sendcollateraldialog.cpp +++ b/src/qt/sendcollateraldialog.cpp @@ -21,7 +21,8 @@ void SendCollateralDialog::vsend(QList &recipients) qDebug() << __func__ << "1 : "; QStringList formatted = constructConfirmationMessage(recipients); qDebug() << __func__ << "2 : "; - checkAndSend(recipients, formatted); + //checkAndSend(recipients, formatted); + send(recipients, formatted); qDebug() << __func__ << "3 : "; }