diff --git a/MiddlePanel.qml b/MiddlePanel.qml index 475d566a..59a77ba6 100644 --- a/MiddlePanel.qml +++ b/MiddlePanel.qml @@ -52,6 +52,9 @@ Rectangle { signal paymentClicked(string address, string paymentId, double amount, int mixinCount, int priority) signal generatePaymentIdInvoked() + // Disable transfer page if daemon isnt fully synced + enabled: (currentView !== transferView || appWindow.daemonSynced) + color: "#F0EEEE" onCurrentViewChanged: { @@ -279,14 +282,13 @@ Rectangle { color: "#DBDBDB" } - - - // indicates disabled state -// Desaturate { -// anchors.fill: parent -// source: parent -// desaturation: root.enabled ? 0.0 : 1.0 -// } + Rectangle { + id:desaturate + color:"black" + anchors.fill: parent + opacity: 0.1 + visible: (root.enabled)? 0 : 1; + } /* connect "payment" click */ diff --git a/main.qml b/main.qml index 26fa78a7..7b023c87 100644 --- a/main.qml +++ b/main.qml @@ -56,6 +56,7 @@ ApplicationWindow { property int splashCounter: 0 property bool isNewWallet: false property int restoreHeight:0 + property bool daemonSynced: false // true if wallet ever synchronized property bool walletInitialized : false @@ -252,10 +253,21 @@ ApplicationWindow { if (splash.visible) { hideProcessingSplash() } + + // Check daemon status var dCurrentBlock = currentWallet.daemonBlockChainHeight(); var dTargetBlock = currentWallet.daemonBlockChainTargetHeight(); leftPanel.daemonProgress.updateProgress(dCurrentBlock,dTargetBlock); + // Daemon connected + leftPanel.networkStatus.connected = currentWallet.connected + + // Daemon fully synced + // TODO: implement onDaemonSynced or similar in wallet API and don't start refresh thread before daemon is synced + daemonSynced = (currentWallet.connected && dCurrentBlock >= dTargetBlock) + + + // Store wallet after every refresh. if (currentWallet.blockChainHeight() > 1){ @@ -277,7 +289,6 @@ ApplicationWindow { walletInitialized = true } - leftPanel.networkStatus.connected = currentWallet.connected onWalletUpdate(); }