aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt/TransactionHistory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libwalletqt/TransactionHistory.cpp')
-rw-r--r--src/libwalletqt/TransactionHistory.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp
new file mode 100644
index 00000000..2c2c9f73
--- /dev/null
+++ b/src/libwalletqt/TransactionHistory.cpp
@@ -0,0 +1,50 @@
+#include "TransactionHistory.h"
+#include "TransactionInfo.h"
+#include <wallet/wallet2_api.h>
+
+
+int TransactionHistory::count() const
+{
+ return m_pimpl->count();
+}
+
+TransactionInfo *TransactionHistory::transaction(int index)
+{
+ // box up Bitmonero::TransactionInfo
+ Bitmonero::TransactionInfo * impl = m_pimpl->transaction(index);
+ TransactionInfo * result = new TransactionInfo(impl, this);
+ return result;
+}
+
+TransactionInfo *TransactionHistory::transaction(const QString &id)
+{
+ // box up Bitmonero::TransactionInfo
+ Bitmonero::TransactionInfo * impl = m_pimpl->transaction(id.toStdString());
+ TransactionInfo * result = new TransactionInfo(impl, this);
+ return result;
+}
+
+QList<TransactionInfo *> TransactionHistory::getAll() const
+{
+ qDeleteAll(m_tinfo);
+ m_tinfo.clear();
+ TransactionHistory * parent = const_cast<TransactionHistory*>(this);
+ for (const auto i : m_pimpl->getAll()) {
+ TransactionInfo * ti = new TransactionInfo(i, parent);
+ m_tinfo.append(ti);
+ }
+ return m_tinfo;
+}
+
+void TransactionHistory::refresh()
+{
+ // XXX this invalidates previously saved history that might be used by clients
+ m_pimpl->refresh();
+ emit invalidated();
+}
+
+TransactionHistory::TransactionHistory(Bitmonero::TransactionHistory *pimpl, QObject *parent)
+ : QObject(parent), m_pimpl(pimpl)
+{
+
+}