aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/NetworkStatusItem.qml5
-rw-r--r--components/ProgressBar.qml7
-rw-r--r--main.qml4
-rw-r--r--src/libwalletqt/Wallet.cpp4
4 files changed, 15 insertions, 5 deletions
diff --git a/components/NetworkStatusItem.qml b/components/NetworkStatusItem.qml
index 6667b974..7b0187b4 100644
--- a/components/NetworkStatusItem.qml
+++ b/components/NetworkStatusItem.qml
@@ -48,8 +48,11 @@ Row {
}
function getConnectionStatusString(status) {
- if (status == Wallet.ConnectionStatus_Connected)
+ if (status == Wallet.ConnectionStatus_Connected) {
+ if(!appWindow.daemonSynced)
+ return qsTr("Synchronizing")
return qsTr("Connected")
+ }
if (status == Wallet.ConnectionStatus_WrongVersion)
return qsTr("Wrong version")
if (status == Wallet.ConnectionStatus_Disconnected)
diff --git a/components/ProgressBar.qml b/components/ProgressBar.qml
index ec53ec61..8462bbf5 100644
--- a/components/ProgressBar.qml
+++ b/components/ProgressBar.qml
@@ -38,6 +38,13 @@ Item {
//clip: true
function updateProgress(currentBlock,targetBlock){
+ if(targetBlock == 1) {
+ fillLevel = 0
+ progressText.text = qsTr("Establishing connection...");
+ progressBar.visible = true
+ return
+ }
+
if(targetBlock > 0) {
var progressLevel = ((currentBlock/targetBlock) * 100).toFixed(0);
fillLevel = progressLevel
diff --git a/main.qml b/main.qml
index 843c43b4..4dd72776 100644
--- a/main.qml
+++ b/main.qml
@@ -351,10 +351,10 @@ ApplicationWindow {
// Check daemon status
var dCurrentBlock = currentWallet.daemonBlockChainHeight();
var dTargetBlock = currentWallet.daemonBlockChainTargetHeight();
-
// Daemon fully synced
// TODO: implement onDaemonSynced or similar in wallet API and don't start refresh thread before daemon is synced
- daemonSynced = dCurrentBlock >= dTargetBlock
+ // targetBlock = currentBlock = 1 before network connection is established.
+ daemonSynced = dCurrentBlock >= dTargetBlock && dTargetBlock != 1
// Update daemon sync progress
leftPanel.progressBar.updateProgress(dCurrentBlock,dTargetBlock);
leftPanel.progressBar.visible = !daemonSynced && currentWallet.connected() !== Wallet.ConnectionStatus_Disconnected
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index 8913d4c3..77b35d06 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -21,7 +21,7 @@
namespace {
static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 5;
- static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 60;
+ static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 30;
static const int WALLET_CONNECTION_STATUS_CACHE_TTL_SECONDS = 5;
}
@@ -262,7 +262,7 @@ quint64 Wallet::daemonBlockChainHeight() const
quint64 Wallet::daemonBlockChainTargetHeight() const
{
- if (m_daemonBlockChainTargetHeight == 0
+ if (m_daemonBlockChainTargetHeight <= 1
|| m_daemonBlockChainTargetHeightTime.elapsed() / 1000 > m_daemonBlockChainTargetHeightTtl) {
m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight();