aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Kitaev <mbg033@gmail.com>2016-06-17 16:35:07 +0300
committerIlya Kitaev <mbg033@gmail.com>2016-06-17 16:35:07 +0300
commit8ac86a8042f23e524f1f5245ada9ac7a1c2fc191 (patch)
tree6df3b4cae5fd090d5968cfe12ebd3375e903b542
parenteaf59243b2cbe3d7ea6de1d8dcd18493df9f365d (diff)
downloadmonzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.tar.gz
monzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.tar.xz
monzero-gui-8ac86a8042f23e524f1f5245ada9ac7a1c2fc191.zip
Balance on UI updated by the signal
-rw-r--r--main.qml12
-rw-r--r--src/libwalletqt/Wallet.cpp6
-rw-r--r--src/libwalletqt/Wallet.h3
3 files changed, 20 insertions, 1 deletions
diff --git a/main.qml b/main.qml
index d6109339..e193ae29 100644
--- a/main.qml
+++ b/main.qml
@@ -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);