aboutsummaryrefslogtreecommitdiff
path: root/src/libwalletqt
diff options
context:
space:
mode:
Diffstat (limited to 'src/libwalletqt')
-rw-r--r--src/libwalletqt/TransactionHistory.cpp35
-rw-r--r--src/libwalletqt/TransactionHistory.h9
2 files changed, 42 insertions, 2 deletions
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp
index e94816f2..7fd7c7bc 100644
--- a/src/libwalletqt/TransactionHistory.cpp
+++ b/src/libwalletqt/TransactionHistory.cpp
@@ -28,13 +28,33 @@ QList<TransactionInfo *> TransactionHistory::getAll() const
emit refreshStarted();
qDeleteAll(m_tinfo);
m_tinfo.clear();
+
+ QDateTime firstDateTime = QDateTime::currentDateTime();
+ QDateTime lastDateTime = QDateTime(QDate(1970, 1, 1));
+
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);
+ // looking for transactions timestamp scope
+ if (ti->timestamp() >= lastDateTime) {
+ lastDateTime = ti->timestamp();
+ }
+ if (ti->timestamp() <= firstDateTime) {
+ firstDateTime = ti->timestamp();
+ }
}
emit refreshFinished();
+
+ if (m_firstDateTime != firstDateTime) {
+ m_firstDateTime = firstDateTime;
+ emit firstDateTimeChanged();
+ }
+ if (m_lastDateTime != lastDateTime) {
+ m_lastDateTime = lastDateTime;
+ emit lastDateTimeChanged();
+ }
+
return m_tinfo;
}
@@ -51,9 +71,20 @@ quint64 TransactionHistory::count() const
return m_tinfo.count();
}
+QDateTime TransactionHistory::firstDateTime() const
+{
+ return m_firstDateTime;
+}
+
+QDateTime TransactionHistory::lastDateTime() const
+{
+ return m_lastDateTime;
+}
+
TransactionHistory::TransactionHistory(Bitmonero::TransactionHistory *pimpl, QObject *parent)
: QObject(parent), m_pimpl(pimpl)
{
- // this->refresh();
+ m_firstDateTime = QDateTime(QDate(1970, 1, 1));
+ m_lastDateTime = QDateTime::currentDateTime();
}
diff --git a/src/libwalletqt/TransactionHistory.h b/src/libwalletqt/TransactionHistory.h
index d7a7278e..ee05787a 100644
--- a/src/libwalletqt/TransactionHistory.h
+++ b/src/libwalletqt/TransactionHistory.h
@@ -3,6 +3,7 @@
#include <QObject>
#include <QList>
+#include <QDateTime>
namespace Bitmonero {
class TransactionHistory;
@@ -14,6 +15,8 @@ class TransactionHistory : public QObject
{
Q_OBJECT
Q_PROPERTY(int count READ count)
+ Q_PROPERTY(QDateTime firstDateTime READ firstDateTime NOTIFY firstDateTimeChanged)
+ Q_PROPERTY(QDateTime lastDateTime READ lastDateTime NOTIFY lastDateTimeChanged)
public:
Q_INVOKABLE TransactionInfo *transaction(int index);
@@ -21,10 +24,14 @@ public:
Q_INVOKABLE QList<TransactionInfo*> getAll() const;
Q_INVOKABLE void refresh();
quint64 count() const;
+ QDateTime firstDateTime() const;
+ QDateTime lastDateTime() const;
signals:
void refreshStarted() const;
void refreshFinished() const;
+ void firstDateTimeChanged() const;
+ void lastDateTimeChanged() const;
public slots:
@@ -37,6 +44,8 @@ private:
Bitmonero::TransactionHistory * m_pimpl;
mutable QList<TransactionInfo*> m_tinfo;
+ mutable QDateTime m_firstDateTime;
+ mutable QDateTime m_lastDateTime;
};