aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-11-05 10:11:00 +0200
committerRiccardo Spagni <ric@spagni.net>2016-11-05 10:11:00 +0200
commitcda769739e69080cd46f0f9269031dc12737a0b8 (patch)
tree8e20b3531e1aaa2a970864c78856612a6a27c53a
parentbfebc2e356e965134a6b87ec0a2294758ec02d00 (diff)
parentd12436a1d6238a8a49d5b1cf7d61ce14bc86b762 (diff)
downloadmonzero-gui-cda769739e69080cd46f0f9269031dc12737a0b8.tar.gz
monzero-gui-cda769739e69080cd46f0f9269031dc12737a0b8.tar.xz
monzero-gui-cda769739e69080cd46f0f9269031dc12737a0b8.zip
Merge pull request #97
d12436a use daemon target height in progress ui (Jacob Brydolf) 8079597 Cache daemon target height (Jacob Brydolf)
-rw-r--r--main.qml2
-rw-r--r--src/libwalletqt/Wallet.cpp13
-rw-r--r--src/libwalletqt/Wallet.h2
3 files changed, 14 insertions, 3 deletions
diff --git a/main.qml b/main.qml
index 65968203..26fa78a7 100644
--- a/main.qml
+++ b/main.qml
@@ -293,7 +293,7 @@ ApplicationWindow {
splashCounter = currHeight
var locale = Qt.locale()
var currHeightString = currHeight.toLocaleString(locale,"f",0)
- var targetHeightString = currentWallet.daemonBlockChainHeight().toLocaleString(locale,"f",0)
+ var targetHeightString = currentWallet.daemonBlockChainTargetHeight().toLocaleString(locale,"f",0)
var progressText = qsTr("Synchronizing blocks %1 / %2").arg(currHeightString).arg(targetHeightString);
console.log("Progress text: " + progressText);
splash.heightProgressText = progressText
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index 004d84ce..ef98828c 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -12,7 +12,8 @@
#include <QTimer>
namespace {
- static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 60;
+ static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 10;
+ static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 60;
}
class WalletListenerImpl : public Bitmonero::WalletListener
@@ -169,7 +170,13 @@ quint64 Wallet::daemonBlockChainHeight() const
quint64 Wallet::daemonBlockChainTargetHeight() const
{
- m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight();
+
+ if (m_daemonBlockChainTargetHeight == 0
+ || m_daemonBlockChainTargetHeightTime.elapsed() / 1000 > m_daemonBlockChainTargetHeightTtl) {
+ m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight();
+ m_daemonBlockChainTargetHeightTime.restart();
+ }
+
return m_daemonBlockChainTargetHeight;
}
@@ -261,6 +268,8 @@ Wallet::Wallet(Bitmonero::Wallet *w, QObject *parent)
, m_historyModel(nullptr)
, m_daemonBlockChainHeight(0)
, m_daemonBlockChainHeightTtl(DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS)
+ , m_daemonBlockChainTargetHeight(0)
+ , m_daemonBlockChainTargetHeightTtl(DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS)
{
m_history = new TransactionHistory(m_walletImpl->history(), this);
m_walletImpl->setListener(new WalletListenerImpl(this));
diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h
index 6267f411..303dfd24 100644
--- a/src/libwalletqt/Wallet.h
+++ b/src/libwalletqt/Wallet.h
@@ -172,7 +172,9 @@ private:
mutable QTime m_daemonBlockChainHeightTime;
mutable quint64 m_daemonBlockChainHeight;
int m_daemonBlockChainHeightTtl;
+ mutable QTime m_daemonBlockChainTargetHeightTime;
mutable quint64 m_daemonBlockChainTargetHeight;
+ int m_daemonBlockChainTargetHeightTtl;
};