From 51f89a8402291086424318338c1004896785a839 Mon Sep 17 00:00:00 2001 From: "moneromooo.monero" Date: Sun, 16 Oct 2016 13:57:56 +0100 Subject: [PATCH] Transfer: disable Send button if the payment id is invalid --- pages/Transfer.qml | 2 +- src/libwalletqt/WalletManager.cpp | 5 +++++ src/libwalletqt/WalletManager.h | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pages/Transfer.qml b/pages/Transfer.qml index 3921b1ef..ab64362b 100644 --- a/pages/Transfer.qml +++ b/pages/Transfer.qml @@ -251,7 +251,7 @@ Rectangle { shadowPressedColor: "#B32D00" releasedColor: "#FF6C3C" pressedColor: "#FF4304" - enabled : addressLine.text.length > 0 && amountLine.text.length > 0 + enabled : addressLine.text.length > 0 && amountLine.text.length > 0 && (paymentIdLine.text.trim() === "" || walletManager.paymentIdValid(paymentIdLine.text.trim())) onClicked: { console.log("Transfer: paymentClicked") var priority = priorityModel.get(priorityDropdown.currentIndex).priority diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 2e1fe57b..988fd426 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -149,6 +149,11 @@ quint64 WalletManager::amountFromDouble(double amount) const return Bitmonero::Wallet::amountFromDouble(amount); } +bool WalletManager::paymentIdValid(const QString &payment_id) const +{ + return Bitmonero::Wallet::paymentIdValid(payment_id.toStdString()); +} + void WalletManager::setLogLevel(int logLevel) { Bitmonero::WalletManagerFactory::setLogLevel(logLevel); diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index 24fb60fc..ddb23b85 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -89,6 +89,8 @@ public: // QML JS engine doesn't support unsigned integers Q_INVOKABLE QString maximumAllowedAmountAsSting() const; + Q_INVOKABLE bool paymentIdValid(const QString &payment_id) const; + // QML missing such functionality, implementing these helpers here Q_INVOKABLE QString urlToLocalPath(const QUrl &url) const; Q_INVOKABLE QUrl localPathToUrl(const QString &path) const;