aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-01-23 10:12:20 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-01-23 10:12:20 -0500
commit2a1cd7dc0162a3002bb4d2c34954f08c3b4dd4ff (patch)
tree866fdf7eaa4a483422d7d68957cb7f14a81b6350
parent9bc6e041eec8cca3b61002e53ebef363363c5f03 (diff)
parent148c1b9816b43805c1053d8cb20960af708b8e11 (diff)
downloadmonzero-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.qml78
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;
- }
}