diff --git a/components/LineEdit.qml b/components/LineEdit.qml index 3a5c2769..9f4ad355 100644 --- a/components/LineEdit.qml +++ b/components/LineEdit.qml @@ -42,6 +42,7 @@ Item { property string placeholderColor: MoneroComponents.Style.defaultFontColor property real placeholderOpacity: 0.35 + property alias acceptableInput: input.acceptableInput property alias validator: input.validator property alias readOnly : input.readOnly property alias cursorPosition: input.cursorPosition diff --git a/components/RemoteNodeEdit.qml b/components/RemoteNodeEdit.qml index 314cb45d..52b3b46e 100644 --- a/components/RemoteNodeEdit.qml +++ b/components/RemoteNodeEdit.qml @@ -58,6 +58,11 @@ GridLayout { property bool lineEditFontBold: true signal editingFinished() + signal textChanged() + + function isValid() { + return daemonAddr.text.trim().length > 0 && daemonPort.acceptableInput + } function getAddress() { return daemonAddr.text.trim() + ":" + daemonPort.text.trim() @@ -79,6 +84,7 @@ GridLayout { fontBold: lineEditFontBold fontSize: lineEditFontSize onEditingFinished: root.editingFinished() + onTextChanged: root.textChanged() } LineEdit { @@ -99,5 +105,6 @@ GridLayout { validator: IntValidator{bottom: 1; top: 65535;} onEditingFinished: root.editingFinished() + onTextChanged: root.textChanged() } } diff --git a/pages/settings/SettingsNode.qml b/pages/settings/SettingsNode.qml index b690c70e..53bfbb21 100644 --- a/pages/settings/SettingsNode.qml +++ b/pages/settings/SettingsNode.qml @@ -298,6 +298,9 @@ Rectangle{ persistentSettings.remoteNodeAddress = remoteNodeEdit.getAddress(); console.log("setting remote node to " + persistentSettings.remoteNodeAddress) } + onTextChanged: { + rectConnectRemote.enabled = remoteNodeEdit.isValid(); + } } GridLayout { @@ -331,7 +334,8 @@ Rectangle{ Rectangle { id: rectConnectRemote Layout.topMargin: 12 * scaleRatio - color: MoneroComponents.Style.buttonBackgroundColorDisabled + enabled: remoteNodeEdit.isValid() + color: enabled ? MoneroComponents.Style.buttonBackgroundColor : MoneroComponents.Style.buttonBackgroundColorDisabled width: btnConnectRemote.width + 40 height: 26 radius: 2 @@ -349,6 +353,7 @@ Rectangle{ MouseArea { cursorShape: Qt.PointingHandCursor + visible: rectConnectRemote.enabled anchors.fill: parent onClicked: { // Update daemon login