aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2019-09-27 11:05:18 +0000
committerxiphon <xiphon@protonmail.com>2019-10-11 01:01:19 +0000
commitd3b20d2c04e89b918ec93aa0d2baf92eb13a49cc (patch)
treea73b4882c49114e62f11ecb034d2795e7b35a568
parentd3b81cb6f8b9e79bc8bda675f556d5288916af56 (diff)
downloadmonzero-gui-d3b20d2c04e89b918ec93aa0d2baf92eb13a49cc.tar.gz
monzero-gui-d3b20d2c04e89b918ec93aa0d2baf92eb13a49cc.tar.xz
monzero-gui-d3b20d2c04e89b918ec93aa0d2baf92eb13a49cc.zip
SimpleMode: implement "switch to another public node" button
-rw-r--r--components/NetworkStatusItem.qml45
1 files changed, 45 insertions, 0 deletions
diff --git a/components/NetworkStatusItem.qml b/components/NetworkStatusItem.qml
index 30a7a867..3e8496bf 100644
--- a/components/NetworkStatusItem.qml
+++ b/components/NetworkStatusItem.qml
@@ -29,6 +29,7 @@
import QtQuick 2.9
import QtQuick.Layouts 1.1
+import FontAwesome 1.0
import moneroComponents.Wallet 1.0
import "../components" as MoneroComponents
@@ -146,6 +147,50 @@ Rectangle {
}
}
}
+
+ Text {
+ anchors.left: statusTextVal.right
+ anchors.leftMargin: 16
+ anchors.verticalCenter: parent.verticalCenter
+ color: refreshMouseArea.containsMouse ? MoneroComponents.Style.dimmedFontColor : MoneroComponents.Style.defaultFontColor
+ font.family: FontAwesome.fontFamilySolid
+ font.pixelSize: 24
+ font.styleName: "Solid"
+ opacity: iconItem.opacity * (refreshMouseArea.visible ? 1 : 0.5)
+ text: FontAwesome.random
+ visible: (
+ item.connected != Wallet.ConnectionStatus_Disconnected &&
+ !persistentSettings.useRemoteNode &&
+ persistentSettings.bootstrapNodeAddress == "auto"
+ )
+
+ MouseArea {
+ id: refreshMouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+ cursorShape: Qt.PointingHandCursor
+ visible: true
+ onClicked: {
+ const callback = function(result) {
+ refreshMouseArea.visible = true;
+ if (result) {
+ appWindow.showStatusMessage(qsTr("Successfully switched to another public node"), 3);
+ appWindow.currentWallet.refreshHeightAsync();
+ } else {
+ appWindow.showStatusMessage(qsTr("Failed to switch public node"), 3);
+ }
+ };
+
+ daemonManager.sendCommandAsync(
+ ["set_bootstrap_daemon", "auto"],
+ appWindow.currentWallet.nettype,
+ callback);
+
+ refreshMouseArea.visible = false;
+ appWindow.showStatusMessage(qsTr("Switching to another public node"), 3);
+ }
+ }
+ }
}
}
}