aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2019-05-27 22:13:53 +0000
committerxiphon <xiphon@protonmail.com>2019-05-28 15:08:50 +0000
commit8bc9fbecaf34d6322bbae83d7ff5588072d639d1 (patch)
tree4b2769bb58078e3092f5b017a51c756f325c4a77
parentc286c7e5a8e67d769bc9054f661ab742a8b1a5ba (diff)
downloadmonzero-gui-8bc9fbecaf34d6322bbae83d7ff5588072d639d1.tar.gz
monzero-gui-8bc9fbecaf34d6322bbae83d7ff5588072d639d1.tar.xz
monzero-gui-8bc9fbecaf34d6322bbae83d7ff5588072d639d1.zip
WalletManager: async setDaemonAddress
-rw-r--r--main.qml6
-rw-r--r--src/libwalletqt/WalletManager.cpp6
-rw-r--r--src/libwalletqt/WalletManager.h2
3 files changed, 8 insertions, 6 deletions
diff --git a/main.qml b/main.qml
index 92d46ea8..c77cdae6 100644
--- a/main.qml
+++ b/main.qml
@@ -256,7 +256,7 @@ ApplicationWindow {
}
// Local daemon settings
- walletManager.setDaemonAddress(localDaemonAddress)
+ walletManager.setDaemonAddressAsync(localDaemonAddress);
// enable timers
userInActivityTimer.running = true;
@@ -608,7 +608,7 @@ ApplicationWindow {
persistentSettings.useRemoteNode = true;
currentDaemonAddress = persistentSettings.remoteNodeAddress;
currentWallet.initAsync(currentDaemonAddress);
- walletManager.setDaemonAddress(currentDaemonAddress);
+ walletManager.setDaemonAddressAsync(currentDaemonAddress);
remoteNodeConnected = true;
}
@@ -620,7 +620,7 @@ ApplicationWindow {
persistentSettings.useRemoteNode = false;
currentDaemonAddress = localDaemonAddress
currentWallet.initAsync(currentDaemonAddress);
- walletManager.setDaemonAddress(currentDaemonAddress);
+ walletManager.setDaemonAddressAsync(currentDaemonAddress);
remoteNodeConnected = false;
}
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index 141ae97a..f51ab1fa 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -344,9 +344,11 @@ QString WalletManager::paymentIdFromAddress(const QString &address, NetworkType:
return QString::fromStdString(Monero::Wallet::paymentIdFromAddress(address.toStdString(), static_cast<Monero::NetworkType>(nettype)));
}
-void WalletManager::setDaemonAddress(const QString &address)
+void WalletManager::setDaemonAddressAsync(const QString &address)
{
- m_pimpl->setDaemonAddress(address.toStdString());
+ QtConcurrent::run([this, address] {
+ m_pimpl->setDaemonAddress(address.toStdString());
+ });
}
bool WalletManager::connected() const
diff --git a/src/libwalletqt/WalletManager.h b/src/libwalletqt/WalletManager.h
index c81fef1c..c1bd2b5f 100644
--- a/src/libwalletqt/WalletManager.h
+++ b/src/libwalletqt/WalletManager.h
@@ -150,7 +150,7 @@ public:
Q_INVOKABLE QString paymentIdFromAddress(const QString &address, NetworkType::Type nettype) const;
- Q_INVOKABLE void setDaemonAddress(const QString &address);
+ Q_INVOKABLE void setDaemonAddressAsync(const QString &address);
Q_INVOKABLE bool connected() const;
Q_INVOKABLE quint64 networkDifficulty() const;
Q_INVOKABLE quint64 blockchainHeight() const;