aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2021-03-19 01:06:59 -0400
committerluigi1111 <luigi1111w@gmail.com>2021-03-19 01:06:59 -0400
commit8dd06bba5cbb2b6b4c7a36df0fb18b3a805acce9 (patch)
tree4eab0177848d876ccf6520338570e63a7d5a0502 /src
parentc18614f96f1767ec276378033e7e3087c663b170 (diff)
parent92a2ae1a117eac6190f486cf48b6066fe7f205eb (diff)
downloadmonzero-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.cpp15
-rw-r--r--src/libwalletqt/WalletManager.h5
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;