diff options
| author | Riccardo Spagni <ric@spagni.net> | 2016-11-05 10:11:00 +0200 |
|---|---|---|
| committer | Riccardo Spagni <ric@spagni.net> | 2016-11-05 10:11:00 +0200 |
| commit | cda769739e69080cd46f0f9269031dc12737a0b8 (patch) | |
| tree | 8e20b3531e1aaa2a970864c78856612a6a27c53a | |
| parent | bfebc2e356e965134a6b87ec0a2294758ec02d00 (diff) | |
| parent | d12436a1d6238a8a49d5b1cf7d61ce14bc86b762 (diff) | |
| download | monzero-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.qml | 2 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 13 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.h | 2 |
3 files changed, 14 insertions, 3 deletions
@@ -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; }; |
