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.cpp35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp
index 8f52f07e..e94816f2 100644
--- a/src/libwalletqt/TransactionHistory.cpp
+++ b/src/libwalletqt/TransactionHistory.cpp
@@ -7,54 +7,53 @@
TransactionInfo *TransactionHistory::transaction(int index)
{
- // box up Bitmonero::TransactionInfo
- Bitmonero::TransactionInfo * impl = m_pimpl->transaction(index);
- if (!impl) {
+
+ if (index < 0 || index >= m_tinfo.size()) {
qCritical("%s: no transaction info for index %d", __FUNCTION__, index);
qCritical("%s: there's %d transactions in backend", __FUNCTION__, m_pimpl->count());
return nullptr;
}
- TransactionInfo * result = new TransactionInfo(impl, this);
- return result;
+ return m_tinfo.at(index);
}
-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;
-}
+//// XXX: not sure if this method really needed;
+//TransactionInfo *TransactionHistory::transaction(const QString &id)
+//{
+// return nullptr;
+//}
QList<TransactionInfo *> TransactionHistory::getAll() const
{
+ // XXX this invalidates previously saved history that might be used by model
+ emit refreshStarted();
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);
+ qDebug() << ti->hash();
m_tinfo.append(ti);
}
+ emit refreshFinished();
return m_tinfo;
}
void TransactionHistory::refresh()
{
- // XXX this invalidates previously saved history that might be used by clients
-
- emit refreshStarted();
+ // rebuilding transaction list in wallet_api;
m_pimpl->refresh();
- emit refreshFinished();
+ // copying list here and keep track on every item to avoid memleaks
+ getAll();
}
quint64 TransactionHistory::count() const
{
- return m_pimpl->count();
+ return m_tinfo.count();
}
TransactionHistory::TransactionHistory(Bitmonero::TransactionHistory *pimpl, QObject *parent)
: QObject(parent), m_pimpl(pimpl)
{
-
+ // this->refresh();
}