aboutsummaryrefslogtreecommitdiff
path: root/src/model
diff options
context:
space:
mode:
authorIlya Kitaev <mbg033@gmail.com>2016-10-04 23:12:58 +0300
committerIlya Kitaev <mbg033@gmail.com>2016-10-10 00:15:17 +0300
commit522b0671adf946bb4def414f1bbdbca492cf0cd6 (patch)
tree104fef4388b6007527e7d4a42e541842b98f0a24 /src/model
parent9cc92bf9d69652104b28e0907de12d83cfadaa20 (diff)
downloadmonzero-gui-522b0671adf946bb4def414f1bbdbca492cf0cd6.tar.gz
monzero-gui-522b0671adf946bb4def414f1bbdbca492cf0cd6.tar.xz
monzero-gui-522b0671adf946bb4def414f1bbdbca492cf0cd6.zip
Simple transaction history
Diffstat (limited to 'src/model')
-rw-r--r--src/model/TransactionHistoryModel.cpp20
-rw-r--r--src/model/TransactionHistoryModel.h13
2 files changed, 29 insertions, 4 deletions
diff --git a/src/model/TransactionHistoryModel.cpp b/src/model/TransactionHistoryModel.cpp
index 1666981c..b8f23f68 100644
--- a/src/model/TransactionHistoryModel.cpp
+++ b/src/model/TransactionHistoryModel.cpp
@@ -2,6 +2,8 @@
#include "TransactionHistory.h"
#include "TransactionInfo.h"
+#include <QDateTime>
+
TransactionHistoryModel::TransactionHistoryModel(QObject *parent)
: QAbstractListModel(parent), m_transactionHistory(nullptr)
@@ -14,6 +16,12 @@ void TransactionHistoryModel::setTransactionHistory(TransactionHistory *th)
beginResetModel();
m_transactionHistory = th;
endResetModel();
+
+ connect(m_transactionHistory, &TransactionHistory::refreshStarted,
+ this, &TransactionHistoryModel::beginResetModel);
+ connect(m_transactionHistory, &TransactionHistory::refreshFinished,
+ this, &TransactionHistoryModel::endResetModel);
+
emit transactionHistoryChanged();
}
@@ -72,6 +80,15 @@ QVariant TransactionHistoryModel::data(const QModelIndex &index, int role) const
case TransactionPaymentIdRole:
result = tInfo->paymentId();
break;
+ case TransactionIsOutRole:
+ result = tInfo->direction() == TransactionInfo::Direction_Out;
+ break;
+ case TransactionDateRole:
+ result = tInfo->date();
+ break;
+ case TransactionTimeRole:
+ result = tInfo->time();
+ break;
}
return result;
@@ -96,6 +113,9 @@ QHash<int, QByteArray> TransactionHistoryModel::roleNames() const
roleNames.insert(TransactionHashRole, "hash");
roleNames.insert(TransactionTimeStampRole, "timeStamp");
roleNames.insert(TransactionPaymentIdRole, "paymentId");
+ roleNames.insert(TransactionIsOutRole, "isOut");
+ roleNames.insert(TransactionDateRole, "date");
+ roleNames.insert(TransactionTimeRole, "time");
return roleNames;
}
diff --git a/src/model/TransactionHistoryModel.h b/src/model/TransactionHistoryModel.h
index 2813a89a..96d3ff32 100644
--- a/src/model/TransactionHistoryModel.h
+++ b/src/model/TransactionHistoryModel.h
@@ -25,7 +25,12 @@ public:
TransactionBlockHeightRole,
TransactionHashRole,
TransactionTimeStampRole,
- TransactionPaymentIdRole
+ TransactionPaymentIdRole,
+ // extra role (alias) for TransactionDirectionRole (as UI currently wants just boolean "out")
+ TransactionIsOutRole,
+ // extra roles for date and time (as UI wants date and time separately)
+ TransactionDateRole,
+ TransactionTimeRole
};
TransactionHistoryModel(QObject * parent = 0);
@@ -33,9 +38,9 @@ public:
TransactionHistory * transactionHistory() const;
/// QAbstractListModel
- virtual QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;
- virtual int rowCount(const QModelIndex & parent = QModelIndex()) const override;
- virtual QHash<int, QByteArray> roleNames() const override;
+ virtual QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;
+ virtual int rowCount(const QModelIndex & parent = QModelIndex()) const override;
+ virtual QHash<int, QByteArray> roleNames() const override;
signals:
void transactionHistoryChanged();