Skip to content

Commit

Permalink
Merge pull request #44 from stoffu/aeon-trusted-daemon
Browse files Browse the repository at this point in the history
settingsnode: enable trusted daemon option /monero-gui#1939
  • Loading branch information
aeonix authored Aug 15, 2020
2 parents 958b3d9 + 5af81fd commit 2661852
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 69 deletions.
1 change: 1 addition & 0 deletions components/LineEdit.qml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 10 additions & 2 deletions components/RemoteNodeEdit.qml
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,17 @@ 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()
}

LineEditMulti {
LineEdit {
id: daemonAddr
Layout.fillWidth: true
placeholderText: qsTr("Remote Node Hostname / IP") + translationManager.emptyString
Expand All @@ -79,9 +84,10 @@ GridLayout {
fontBold: lineEditFontBold
fontSize: lineEditFontSize
onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
}

LineEditMulti {
LineEdit {
id: daemonPort
Layout.fillWidth: true
placeholderText: qsTr("Port") + translationManager.emptyString
Expand All @@ -96,7 +102,9 @@ GridLayout {
fontColor: lineEditFontColor
fontBold: lineEditFontBold
fontSize: lineEditFontSize
validator: IntValidator{bottom: 1; top: 65535;}

onEditingFinished: root.editingFinished()
onTextChanged: root.textChanged()
}
}
1 change: 1 addition & 0 deletions main.qml
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,7 @@ ApplicationWindow {
property string daemon_address: nettype == NetworkType.TESTNET ? "localhost:21181" : nettype == NetworkType.STAGENET ? "localhost:31181" : "localhost:11181"
property string payment_id
property int restore_height : 0
property bool is_trusted_daemon : false
property bool is_recovering : false
property bool is_recovering_from_device : false
property bool customDecorations : true
Expand Down
104 changes: 37 additions & 67 deletions pages/settings/SettingsNode.qml
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,12 @@ Rectangle{
daemonPortText: rna.search(":") != -1 ? (rna.split(":")[1].trim() == "") ? "11181" : rna.split(":")[1] : ""
onEditingFinished: {
persistentSettings.remoteNodeAddress = remoteNodeEdit.getAddress();
console.log("setting remote node to " + persistentSettings.remoteNodeAddress)
console.log("setting remote node to " + persistentSettings.remoteNodeAddress);
if (persistentSettings.is_trusted_daemon) {
persistentSettings.is_trusted_daemon = !persistentSettings.is_trusted_daemon
setTrustedDaemonCheckBox.checked = !setTrustedDaemonCheckBox.checked
appWindow.showStatusMessage(qsTr("Remote node updated. Trusted daemon has been reset. Mark again, if desired."), 8);
}
}
}

Expand Down Expand Up @@ -328,39 +333,31 @@ Rectangle{
}
}

Rectangle {
id: rectConnectRemote
Layout.topMargin: 12 * scaleRatio
color: MoneroComponents.Style.buttonBackgroundColorDisabled
width: btnConnectRemote.width + 40
height: 26
radius: 2

Text {
id: btnConnectRemote
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
font.bold: true
text: qsTr("Connect") + translationManager.emptyString
MoneroComponents.CheckBox {
id: setTrustedDaemonCheckBox
checked: persistentSettings.is_trusted_daemon
onClicked: {
persistentSettings.is_trusted_daemon = !persistentSettings.is_trusted_daemon
currentWallet.setTrustedDaemon(persistentSettings.is_trusted_daemon)
}
text: qsTr("Mark as Trusted Daemon") + translationManager.emptyString
}

MouseArea {
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: {
// Update daemon login
persistentSettings.remoteNodeAddress = remoteNodeEdit.getAddress();
persistentSettings.daemonUsername = daemonUsername.text;
persistentSettings.daemonPassword = daemonPassword.text;
persistentSettings.useRemoteNode = true

currentWallet.setDaemonLogin(persistentSettings.daemonUsername, persistentSettings.daemonPassword);

appWindow.connectRemoteNode()
}
MoneroComponents.StandardButton {
id: btnConnectRemote
enabled: remoteNodeEdit.isValid()
small: true
text: qsTr("Connect") + translationManager.emptyString
onClicked: {
// Update daemon login
persistentSettings.remoteNodeAddress = remoteNodeEdit.getAddress();
persistentSettings.daemonUsername = daemonUsername.text;
persistentSettings.daemonPassword = daemonPassword.text;
persistentSettings.useRemoteNode = true

currentWallet.setDaemonLogin(persistentSettings.daemonUsername, persistentSettings.daemonPassword);

appWindow.connectRemoteNode()
}
}
}
Expand All @@ -374,41 +371,14 @@ Rectangle{
anchors.right: parent.right
visible: !isMobile && !persistentSettings.useRemoteNode

Rectangle {
color: "transparent"
Layout.topMargin: 0 * scaleRatio
Layout.bottomMargin: 8 * scaleRatio
Layout.preferredHeight: 24 * scaleRatio
Layout.preferredWidth: parent.width

Rectangle {
id: rectStartStopNode
color: MoneroComponents.Style.buttonBackgroundColor
width: btnStartStopNode.width + 40
height: 24
radius: 2

Text {
id: btnStartStopNode
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
color: MoneroComponents.Style.defaultFontColor
font.family: MoneroComponents.Style.fontRegular.name
font.pixelSize: 14 * scaleRatio
font.bold: true
text: (appWindow.daemonRunning ? qsTr("Stop local node") : qsTr("Start daemon")) + translationManager.emptyString
}

MouseArea {
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: {
if (appWindow.daemonRunning) {
appWindow.stopDaemon();
} else {
appWindow.startDaemon(persistentSettings.daemonFlags);
}
}
MoneroComponents.StandardButton {
small: true
text: (appWindow.daemonRunning ? qsTr("Stop local node") : qsTr("Start daemon")) + translationManager.emptyString
onClicked: {
if (appWindow.daemonRunning) {
appWindow.stopDaemon();
} else {
appWindow.startDaemon(persistentSettings.daemonFlags);
}
}
}
Expand Down

0 comments on commit 2661852

Please sign in to comment.