aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2020-05-06 00:41:41 -0500
committerluigi1111 <luigi1111w@gmail.com>2020-05-06 00:41:41 -0500
commit38612c1285889f59a8c94bb412354bb7bed4108a (patch)
tree1ddae2fc6e3899f9ad44a5e2aaf18bac88c2f5f1
parent1d3a2010778befdfcf25c6bbbc012a2bb5ff5fd5 (diff)
parent487e706f0629b3704388fbb1264a592f19332b99 (diff)
downloadmonzero-gui-38612c1285889f59a8c94bb412354bb7bed4108a.tar.gz
monzero-gui-38612c1285889f59a8c94bb412354bb7bed4108a.tar.xz
monzero-gui-38612c1285889f59a8c94bb412354bb7bed4108a.zip
Merge pull request #2881
487e706 Improved daemon sync progress bar (rbrunner7)
-rw-r--r--components/ProgressBar.qml2
-rw-r--r--main.qml10
2 files changed, 10 insertions, 2 deletions
diff --git a/components/ProgressBar.qml b/components/ProgressBar.qml
index c11f3b1a..57c5a14c 100644
--- a/components/ProgressBar.qml
+++ b/components/ProgressBar.qml
@@ -42,7 +42,7 @@ Rectangle {
function updateProgress(currentBlock,targetBlock, blocksToSync, statusTxt){
if(targetBlock > 0) {
var remaining = (currentBlock < targetBlock) ? targetBlock - currentBlock : 0
- var progressLevel = (blocksToSync > 0 && blocksToSync != remaining) ? (100*(blocksToSync - remaining)/blocksToSync).toFixed(0) : (100*(currentBlock / targetBlock)).toFixed(0)
+ var progressLevel = (blocksToSync > 0 ) ? (100*(blocksToSync - remaining)/blocksToSync).toFixed(0) : 100
fillLevel = progressLevel
if(typeof statusTxt != "undefined" && statusTxt != "") {
progressText.text = statusTxt;
diff --git a/main.qml b/main.qml
index b311e510..ace2064a 100644
--- a/main.qml
+++ b/main.qml
@@ -73,6 +73,7 @@ ApplicationWindow {
property bool foundNewBlock: false
property bool qrScannerEnabled: (typeof builtWithScanner != "undefined") && builtWithScanner
property int blocksToSync: 1
+ property int firstBlockSeen
property bool isMining: false
property int walletMode: persistentSettings.walletMode
property var cameraUi
@@ -470,6 +471,9 @@ ApplicationWindow {
console.log("Wallet connection status changed " + status)
middlePanel.updateStatus();
leftPanel.networkStatus.connected = status
+ if (status == Wallet.ConnectionStatus_Disconnected) {
+ firstBlockSeen = 0;
+ }
// Update fee multiplier dropdown on transfer page
middlePanel.transferView.updatePriorityDropdown();
@@ -609,18 +613,22 @@ ApplicationWindow {
currentDaemonAddress = localDaemonAddress
currentWallet.initAsync(currentDaemonAddress, isTrustedDaemon());
walletManager.setDaemonAddressAsync(currentDaemonAddress);
+ firstBlockSeen = 0;
}
function onHeightRefreshed(bcHeight, dCurrentBlock, dTargetBlock) {
// Daemon fully synced
// TODO: implement onDaemonSynced or similar in wallet API and don't start refresh thread before daemon is synced
// targetBlock = currentBlock = 1 before network connection is established.
+ if (firstBlockSeen == 0 && dTargetBlock != 1) {
+ firstBlockSeen = dCurrentBlock;
+ }
daemonSynced = dCurrentBlock >= dTargetBlock && dTargetBlock != 1
walletSynced = bcHeight >= dTargetBlock
// Update progress bars
if(!daemonSynced) {
- leftPanel.daemonProgressBar.updateProgress(dCurrentBlock,dTargetBlock, dTargetBlock-dCurrentBlock);
+ leftPanel.daemonProgressBar.updateProgress(dCurrentBlock,dTargetBlock, dTargetBlock-firstBlockSeen);
leftPanel.progressBar.updateProgress(0,dTargetBlock, dTargetBlock, qsTr("Waiting for daemon to sync"));
} else {
leftPanel.daemonProgressBar.updateProgress(dCurrentBlock,dTargetBlock, 0, qsTr("Daemon is synchronized (%1)").arg(dCurrentBlock.toFixed(0)));