diff options
| author | xiphon <xiphon@protonmail.com> | 2019-05-30 10:48:57 +0000 |
|---|---|---|
| committer | xiphon <xiphon@protonmail.com> | 2019-05-30 23:17:26 +0000 |
| commit | 73a3549e097785bdecb675a83c07716535fbd751 (patch) | |
| tree | 571d39a417f1006f27442605421b9eeab54b1340 /src | |
| parent | c286c7e5a8e67d769bc9054f661ab742a8b1a5ba (diff) | |
| download | monzero-gui-73a3549e097785bdecb675a83c07716535fbd751.tar.gz monzero-gui-73a3549e097785bdecb675a83c07716535fbd751.tar.xz monzero-gui-73a3549e097785bdecb675a83c07716535fbd751.zip | |
WalletManager: non-blocking mining status updates
Diffstat (limited to 'src')
| -rw-r--r-- | src/libwalletqt/WalletManager.cpp | 7 | ||||
| -rw-r--r-- | src/libwalletqt/WalletManager.h | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp index 141ae97a..32204897 100644 --- a/src/libwalletqt/WalletManager.cpp +++ b/src/libwalletqt/WalletManager.cpp @@ -381,6 +381,13 @@ bool WalletManager::isMining() const return m_pimpl->isMining(); } +void WalletManager::miningStatusAsync() const +{ + QtConcurrent::run([this] { + emit miningStatus(isMining()); + }); +} + bool WalletManager::startMining(const QString &address, quint32 threads, bool backgroundMining, bool ignoreBattery) { if(threads == 0) diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h index c81fef1c..c2568da1 100644 --- a/src/libwalletqt/WalletManager.h +++ b/src/libwalletqt/WalletManager.h @@ -159,7 +159,7 @@ public: Q_INVOKABLE bool localDaemonSynced() const; Q_INVOKABLE bool isDaemonLocal(const QString &daemon_address) const; - Q_INVOKABLE bool isMining() const; + Q_INVOKABLE void miningStatusAsync() const; Q_INVOKABLE bool startMining(const QString &address, quint32 threads, bool backgroundMining, bool ignoreBattery); Q_INVOKABLE bool stopMining(); @@ -201,12 +201,16 @@ signals: void deviceButtonPressed(); void walletClosed(const QString &walletAddress); void checkUpdatesComplete(const QString &result) const; + void miningStatus(bool isMining) const; public slots: private: friend class WalletPassphraseListenerImpl; explicit WalletManager(QObject *parent = 0); + + bool isMining() const; + static WalletManager * m_instance; Monero::WalletManager * m_pimpl; QMutex m_mutex; |
