aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2019-06-05 22:30:46 -0500
committerluigi1111 <luigi1111w@gmail.com>2019-06-05 22:30:46 -0500
commitda39be9a8dbba668827a136c4f86ed09a19dd02a (patch)
treea2d4d98ae9decd917025cee8ea1fcbd6f873b14a
parent1c3201b17f5224d393cb818570cce123140de5e5 (diff)
parent8bc9fbecaf34d6322bbae83d7ff5588072d639d1 (diff)
downloadmonzero-gui-da39be9a8dbba668827a136c4f86ed09a19dd02a.tar.gz
monzero-gui-da39be9a8dbba668827a136c4f86ed09a19dd02a.tar.xz
monzero-gui-da39be9a8dbba668827a136c4f86ed09a19dd02a.zip
Merge pull request #2178
8bc9fbe WalletManager: async setDaemonAddress (xiphon)
-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 5f3d5086..3299c629 100644
--- a/main.qml
+++ b/main.qml
@@ -253,7 +253,7 @@ ApplicationWindow {
}
// Local daemon settings
- walletManager.setDaemonAddress(localDaemonAddress)
+ walletManager.setDaemonAddressAsync(localDaemonAddress);
// enable timers
userInActivityTimer.running = true;
@@ -605,7 +605,7 @@ ApplicationWindow {
persistentSettings.useRemoteNode = true;
currentDaemonAddress = persistentSettings.remoteNodeAddress;
currentWallet.initAsync(currentDaemonAddress);
- walletManager.setDaemonAddress(currentDaemonAddress);
+ walletManager.setDaemonAddressAsync(currentDaemonAddress);
remoteNodeConnected = true;
}
@@ -617,7 +617,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;