diff --git a/components/InputMulti.qml b/components/InputMulti.qml
index 5698dcc6..5e9d2a0a 100644
--- a/components/InputMulti.qml
+++ b/components/InputMulti.qml
@@ -58,7 +58,7 @@ TextArea {
onTextChanged: {
if(addressValidation){
// js replacement for `RegExpValidator { regExp: /[0-9A-Fa-f]{95}/g }`
- textArea.text = textArea.text.replace(/[^a-z0-9]/gi,'');
+ textArea.text = textArea.text.replace(/[^a-z0-9.@]/gi,'');
var address_ok = TxUtils.checkAddress(textArea.text, appWindow.persistentSettings.nettype);
if(!address_ok) error = true;
else error = false;
diff --git a/pages/Transfer.qml b/pages/Transfer.qml
index 43578e34..7f5d05f0 100644
--- a/pages/Transfer.qml
+++ b/pages/Transfer.qml
@@ -257,40 +257,8 @@ Rectangle {
labelText: qsTr("\
Address ( Address book )")
+ translationManager.emptyString
- labelButtonText: qsTr("Resolve") + translationManager.emptyString
placeholderText: "4.."
onInputLabelLinkActivated: { appWindow.showPageRequest("AddressBook") }
- onLabelButtonClicked: {
- var result = walletManager.resolveOpenAlias(addressLine.text)
- if (result) {
- var parts = result.split("|")
- if (parts.length == 2) {
- var address_ok = walletManager.addressValid(parts[1], appWindow.persistentSettings.nettype)
- if (parts[0] === "true") {
- if (address_ok) {
- addressLine.text = parts[1]
- addressLine.cursorPosition = 0
- }
- else
- oa_message(qsTr("No valid address found at this OpenAlias address"))
- } else if (parts[0] === "false") {
- if (address_ok) {
- addressLine.text = parts[1]
- addressLine.cursorPosition = 0
- oa_message(qsTr("Address found, but the DNSSEC signatures could not be verified, so this address may be spoofed"))
- } else {
- oa_message(qsTr("No valid address found at this OpenAlias address, but the DNSSEC signatures could not be verified, so this may be spoofed"))
- }
- } else {
- oa_message(qsTr("Internal error"))
- }
- } else {
- oa_message(qsTr("Internal error"))
- }
- } else {
- oa_message(qsTr("No address found"))
- }
- }
}
StandardButton {
@@ -306,6 +274,52 @@ Rectangle {
}
}
+ StandardButton {
+ id: resolveButton
+ anchors.left: parent.left
+ width: 80
+ text: qsTr("Resolve") + translationManager.emptyString
+ visible: isValidOpenAliasAddress(addressLine.text)
+ enabled : isValidOpenAliasAddress(addressLine.text)
+ onClicked: {
+ var result = walletManager.resolveOpenAlias(addressLine.text)
+ if (result) {
+ var parts = result.split("|")
+ if (parts.length == 2) {
+ var address_ok = walletManager.addressValid(parts[1], appWindow.persistentSettings.testnet)
+ if (parts[0] === "true") {
+ if (address_ok) {
+ addressLine.text = parts[1]
+ addressLine.cursorPosition = 0
+ }
+ else
+ oa_message(qsTr("No valid address found at this OpenAlias address"))
+ }
+ else if (parts[0] === "false") {
+ if (address_ok) {
+ addressLine.text = parts[1]
+ addressLine.cursorPosition = 0
+ oa_message(qsTr("Address found, but the DNSSEC signatures could not be verified, so this address may be spoofed"))
+ }
+ else
+ {
+ oa_message(qsTr("No valid address found at this OpenAlias address, but the DNSSEC signatures could not be verified, so this may be spoofed"))
+ }
+ }
+ else {
+ oa_message(qsTr("Internal error"))
+ }
+ }
+ else {
+ oa_message(qsTr("Internal error"))
+ }
+ }
+ else {
+ oa_message(qsTr("No address found"))
+ }
+ }
+ }
+
RowLayout {
// payment id input
LineEdit {