aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/NetworkStatusItem.qml9
-rw-r--r--main.qml29
2 files changed, 24 insertions, 14 deletions
diff --git a/components/NetworkStatusItem.qml b/components/NetworkStatusItem.qml
index 05fb55d1..432b7a65 100644
--- a/components/NetworkStatusItem.qml
+++ b/components/NetworkStatusItem.qml
@@ -39,6 +39,15 @@ Rectangle {
property var connected: Wallet.ConnectionStatus_Disconnected
function getConnectionStatusString(status) {
+ switch (appWindow.daemonStartStopInProgress)
+ {
+ case 1:
+ return qsTr("Starting the node");
+ case 2:
+ return qsTr("Stopping the node");
+ default:
+ break;
+ }
switch (status) {
case Wallet.ConnectionStatus_Connected:
if (!appWindow.daemonSynced)
diff --git a/main.qml b/main.qml
index c849939c..c6a6ad92 100644
--- a/main.qml
+++ b/main.qml
@@ -72,7 +72,7 @@ ApplicationWindow {
property bool walletSynced: false
property int maxWindowHeight: (isAndroid || isIOS)? screenHeight : (screenHeight < 900)? 720 : 800;
property bool daemonRunning: !persistentSettings.useRemoteNode && !disconnected
- property bool daemonStartStopInProgress: false
+ property int daemonStartStopInProgress: 0
property alias toolTip: toolTip
property string walletName
property bool viewOnly: false
@@ -707,31 +707,33 @@ ApplicationWindow {
}
function startDaemon(flags){
- daemonStartStopInProgress = true;
+ daemonStartStopInProgress = 1;
// Pause refresh while starting daemon
currentWallet.pauseRefresh();
- appWindow.showProcessingSplash(qsTr("Waiting for daemon to start..."))
const noSync = appWindow.walletMode === 0;
const bootstrapNodeAddress = persistentSettings.walletMode < 2 ? "auto" : persistentSettings.bootstrapNodeAddress
daemonManager.start(flags, persistentSettings.nettype, persistentSettings.blockchainDataDir, bootstrapNodeAddress, noSync);
}
- function stopDaemon(callback){
- daemonStartStopInProgress = true;
- appWindow.showProcessingSplash(qsTr("Waiting for daemon to stop..."))
+ function stopDaemon(callback, splash){
+ daemonStartStopInProgress = 2;
+ if (splash) {
+ appWindow.showProcessingSplash(qsTr("Waiting for daemon to stop..."));
+ }
daemonManager.stopAsync(persistentSettings.nettype, function(result) {
- daemonStartStopInProgress = false;
- hideProcessingSplash();
+ daemonStartStopInProgress = 0;
+ if (splash) {
+ hideProcessingSplash();
+ }
callback(result);
});
}
function onDaemonStarted(){
console.log("daemon started");
- daemonStartStopInProgress = false;
- hideProcessingSplash();
+ daemonStartStopInProgress = 0;
currentWallet.connected(true);
// resume refresh
currentWallet.startRefresh();
@@ -744,8 +746,7 @@ ApplicationWindow {
function onDaemonStartFailure(error) {
console.log("daemon start failed");
- daemonStartStopInProgress = false;
- hideProcessingSplash();
+ daemonStartStopInProgress = 0;
// resume refresh
currentWallet.startRefresh();
informationPopup.title = qsTr("Daemon failed to start") + translationManager.emptyString;
@@ -1965,7 +1966,7 @@ ApplicationWindow {
// Simple mode connection check timer
id: simpleModeConnectionTimer
interval: 2000
- running: appWindow.walletMode < 2 && currentWallet != undefined && !daemonStartStopInProgress
+ running: appWindow.walletMode < 2 && currentWallet != undefined && daemonStartStopInProgress == 0
repeat: true
onTriggered: appWindow.checkSimpleModeConnection()
}
@@ -2043,7 +2044,7 @@ ApplicationWindow {
if(daemonManager == undefined || persistentSettings.useRemoteNode) {
closeAccepted();
} else if (appWindow.walletMode == 0) {
- stopDaemon(closeAccepted);
+ stopDaemon(closeAccepted, true);
} else {
showProcessingSplash(qsTr("Checking local node status..."));
const handler = function(running) {