diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2020-01-23 10:12:20 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2020-01-23 10:12:20 -0500 |
| commit | 2a1cd7dc0162a3002bb4d2c34954f08c3b4dd4ff (patch) | |
| tree | 866fdf7eaa4a483422d7d68957cb7f14a81b6350 | |
| parent | 9bc6e041eec8cca3b61002e53ebef363363c5f03 (diff) | |
| parent | 148c1b9816b43805c1053d8cb20960af708b8e11 (diff) | |
| download | monzero-gui-2a1cd7dc0162a3002bb4d2c34954f08c3b4dd4ff.tar.gz monzero-gui-2a1cd7dc0162a3002bb4d2c34954f08c3b4dd4ff.tar.xz monzero-gui-2a1cd7dc0162a3002bb4d2c34954f08c3b4dd4ff.zip | |
Merge pull request #2719
148c1b9 Transfer: fix Send button state not being updated properly (xiphon)
| -rw-r--r-- | pages/Transfer.qml | 78 |
1 files changed, 28 insertions, 50 deletions
diff --git a/pages/Transfer.qml b/pages/Transfer.qml index d00bbf30..2d31430d 100644 --- a/pages/Transfer.qml +++ b/pages/Transfer.qml @@ -51,7 +51,33 @@ Rectangle { property alias transferHeight2: advancedLayout.height property int mixin: 10 // (ring size 11) property string warningContent: "" - property string sendButtonWarning: "" + property string sendButtonWarning: { + // Currently opened wallet is not view-only + if (appWindow.viewOnly) { + return qsTr("Wallet is view-only and sends are not possible. Unless key images are imported, " + + "the balance reflects only incoming but not outgoing transactions.") + translationManager.emptyString; + } + + // There are sufficient unlocked funds available + if (walletManager.amountFromString(amountLine.text) > appWindow.getUnlockedBalance()) { + return qsTr("Amount is more than unlocked balance.") + translationManager.emptyString; + } + + if (addressLine.text) + { + // Address is valid + if (!TxUtils.checkAddress(addressLine.text, appWindow.persistentSettings.nettype)) { + return qsTr("Address is invalid.") + translationManager.emptyString; + } + + // Amount is nonzero + if (!amountLine.text || parseFloat(amountLine.text) <= 0) { + return qsTr("Enter an amount.") + translationManager.emptyString; + } + } + + return ""; + } property string startLinkText: qsTr("<style type='text/css'>a {text-decoration: none; color: #FF6C3C; font-size: 14px;}</style><font size='2'> (</font><a href='#'>Start daemon</a><font size='2'>)</font>") + translationManager.emptyString property bool warningLongPidDescription: descriptionLine.text.match(/^[0-9a-f]{64}$/i) @@ -88,7 +114,6 @@ Rectangle { addressLine.text = "" setPaymentId(""); amountLine.text = "" - root.sendButtonWarning = "" setDescription(""); priorityDropdown.currentIndex = 0 updatePriorityDropdown() @@ -413,9 +438,7 @@ Rectangle { rightIconInactive: "qrc:///images/rightArrowInactive.png" Layout.topMargin: 4 text: qsTr("Send") + translationManager.emptyString - enabled: { - updateSendButton() - } + enabled: !sendButtonWarningBox.visible && !warningContent && addressLine.text && !paymentIdWarningBox.visible onClicked: { console.log("Transfer: paymentClicked") var priority = priorityModelV5.get(priorityDropdown.currentIndex).priority @@ -729,49 +752,4 @@ Rectangle { if(typeof amount !== 'undefined') amountLine.text = amount; } - - function updateSendButton(){ - // reset message - root.sendButtonWarning = ""; - - // Currently opened wallet is not view-only - if(appWindow.viewOnly){ - root.sendButtonWarning = qsTr("Wallet is view-only and sends are not possible. Unless key images are imported, " + - "the balance reflects only incoming but not outgoing transactions.") + translationManager.emptyString; - return false; - } - - // There are sufficient unlocked funds available - if(walletManager.amountFromString(amountLine.text) > appWindow.getUnlockedBalance()){ - root.sendButtonWarning = qsTr("Amount is more than unlocked balance.") + translationManager.emptyString; - return false; - } - - // There is no warning box displayed - if(root.warningContent !== ""){ - return false; - } - - if (addressLine.text == "") { - return false; - } - - // Address is valid - if(!TxUtils.checkAddress(addressLine.text, appWindow.persistentSettings.nettype)){ - root.sendButtonWarning = qsTr("Address is invalid.") + translationManager.emptyString; - return false; - } - - // Amount is nonzero - if (!amountLine.text || parseFloat(amountLine.text) <= 0) { - root.sendButtonWarning = qsTr("Enter an amount.") + translationManager.emptyString; - return false; - } - - if (paymentIdWarningBox.visible) { - return false; - } - - return true; - } } |
