aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2019-05-30 10:48:57 +0000
committerxiphon <xiphon@protonmail.com>2019-05-30 23:17:26 +0000
commit73a3549e097785bdecb675a83c07716535fbd751 (patch)
tree571d39a417f1006f27442605421b9eeab54b1340 /src/libwalletqt
parentc286c7e5a8e67d769bc9054f661ab742a8b1a5ba (diff)
downloadmonzero-gui-73a3549e097785bdecb675a83c07716535fbd751.tar.gz
monzero-gui-73a3549e097785bdecb675a83c07716535fbd751.tar.xz
monzero-gui-73a3549e097785bdecb675a83c07716535fbd751.zip
WalletManager: non-blocking mining status updates
Diffstat (limited to 'src/libwalletqt')
-rw-r--r--src/libwalletqt/WalletManager.cpp7
-rw-r--r--src/libwalletqt/WalletManager.h6
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;