diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2021-03-19 01:06:59 -0400 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2021-03-19 01:06:59 -0400 |
| commit | 8dd06bba5cbb2b6b4c7a36df0fb18b3a805acce9 (patch) | |
| tree | 4eab0177848d876ccf6520338570e63a7d5a0502 /src | |
| parent | c18614f96f1767ec276378033e7e3087c663b170 (diff) | |
| parent | 92a2ae1a117eac6190f486cf48b6066fe7f205eb (diff) | |
| download | monzero-gui-8dd06bba5cbb2b6b4c7a36df0fb18b3a805acce9.tar.gz monzero-gui-8dd06bba5cbb2b6b4c7a36df0fb18b3a805acce9.tar.xz monzero-gui-8dd06bba5cbb2b6b4c7a36df0fb18b3a805acce9.zip | |
Merge pull request #3325
92a2ae1 TxConfirmationDialog: implement multiple recipients support, layout fixes (xiphon)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libwalletqt/WalletManager.cpp | 15 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.h | 5 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index ecccef66..9876e1f3 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -251,7 +251,7 @@ QString WalletManager::errorString() const return tr("Unknown error"); } -quint64 WalletManager::maximumAllowedAmount() const +quint64 WalletManager::maximumAllowedAmount() { return Monero::Wallet::maximumAllowedAmount(); } @@ -266,7 +266,7 @@ QString WalletManager::displayAmount(quint64 amount) return QString::fromStdString(Monero::Wallet::displayAmount(amount)); } -quint64 WalletManager::amountFromString(const QString &amount) const +quint64 WalletManager::amountFromString(const QString &amount) { return Monero::Wallet::amountFromString(amount.toStdString()); } @@ -276,6 +276,17 @@ quint64 WalletManager::amountFromDouble(double amount) const return Monero::Wallet::amountFromDouble(amount); } +QString WalletManager::amountsSumFromStrings(const QVector<QString> &amounts) +{ + quint64 sum = 0; + for (const auto &amountString : amounts) + { + const quint64 amount = amountFromString(amountString); + sum = sum + std::min(maximumAllowedAmount() - sum, amount); + } + return QString::number(sum); +} + bool WalletManager::paymentIdValid(const QString &payment_id) const { return Monero::Wallet::paymentIdValid(payment_id.toStdString()); diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index a45995af..25c62faf 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -133,9 +133,10 @@ public: //! since we can't call static method from QML, move it to this class Q_INVOKABLE static QString displayAmount(quint64 amount); - Q_INVOKABLE quint64 amountFromString(const QString &amount) const; + Q_INVOKABLE static quint64 amountFromString(const QString &amount); Q_INVOKABLE quint64 amountFromDouble(double amount) const; - Q_INVOKABLE quint64 maximumAllowedAmount() const; + Q_INVOKABLE static QString amountsSumFromStrings(const QVector<QString> &amounts); + Q_INVOKABLE static quint64 maximumAllowedAmount(); // QML JS engine doesn't support unsigned integers Q_INVOKABLE QString maximumAllowedAmountAsString() const; |
