diff options
| author | Ilya Kitaev <mbg033@gmail.com> | 2016-06-17 16:35:07 +0300 |
|---|---|---|
| committer | Ilya Kitaev <mbg033@gmail.com> | 2016-06-17 16:35:07 +0300 |
| commit | 8ac86a8042f23e524f1f5245ada9ac7a1c2fc191 (patch) | |
| tree | 6df3b4cae5fd090d5968cfe12ebd3375e903b542 | |
| parent | eaf59243b2cbe3d7ea6de1d8dcd18493df9f365d (diff) | |
| download | monzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.tar.gz monzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.tar.xz monzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.zip | |
Balance on UI updated by the signal
| -rw-r--r-- | main.qml | 12 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 6 | ||||
| -rw-r--r-- | src/libwalletqt/Wallet.h | 3 |
3 files changed, 20 insertions, 1 deletions
@@ -142,10 +142,19 @@ ApplicationWindow { console.log("Error initialize wallet: ", wallet.errorString); return } + + // subscribing for wallet updates + wallet.updated.connect(onWalletUpdate); + // TODO: refresh asynchronously without blocking UI, implement signal(s) wallet.refresh(); console.log("wallet balance: ", wallet.balance) + + } + + function onWalletUpdate() { + console.log("wallet updated") leftPanel.unlockedBalanceText = walletManager.displayAmount(wallet.unlockedBalance); leftPanel.balanceText = walletManager.displayAmount(wallet.balance); } @@ -176,8 +185,11 @@ ApplicationWindow { + ", fee: " + walletManager.displayAmount(pendingTransaction.fee)); if (!pendingTransaction.commit()) { console.log("Error committing transaction: " + pendingTransaction.errorString); + } else { + wallet.refresh(); } } + wallet.disposeTransaction(pendingTransaction); } diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 77901b0c..901075b6 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -7,6 +7,7 @@ #include <QDir> #include <QDebug> #include <QUrl> +#include <QTimer> namespace { @@ -81,7 +82,10 @@ quint64 Wallet::unlockedBalance() const bool Wallet::refresh() { - return m_walletImpl->refresh(); + bool result = m_walletImpl->refresh(); + if (result) + emit updated(); + return result; } PendingTransaction *Wallet::createTransaction(const QString &dst_addr, quint64 amount) diff --git a/src/libwalletqt/Wallet.h b/src/libwalletqt/Wallet.h index 7d391429..f8263040 100644 --- a/src/libwalletqt/Wallet.h +++ b/src/libwalletqt/Wallet.h @@ -85,6 +85,9 @@ public: TransactionHistory * history(); // TODO: setListenter() when it implemented in API +signals: + void updated(); + private: Wallet(Bitmonero::Wallet *w, QObject * parent = 0); |
