aboutsummaryrefslogtreecommitdiff
path: root/src/model/TransactionHistoryModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/TransactionHistoryModel.h')
-rw-r--r--src/model/TransactionHistoryModel.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/model/TransactionHistoryModel.h b/src/model/TransactionHistoryModel.h
new file mode 100644
index 00000000..2813a89a
--- /dev/null
+++ b/src/model/TransactionHistoryModel.h
@@ -0,0 +1,48 @@
+#ifndef TRANSACTIONHISTORYMODEL_H
+#define TRANSACTIONHISTORYMODEL_H
+
+#include <QAbstractListModel>
+
+class TransactionHistory;
+class TransactionInfo;
+
+/**
+ * @brief The TransactionHistoryModel class - read-only list model for Transaction History
+ */
+class TransactionHistoryModel : public QAbstractListModel
+{
+ Q_OBJECT
+ Q_PROPERTY(TransactionHistory * transactionHistory READ transactionHistory WRITE setTransactionHistory NOTIFY transactionHistoryChanged)
+
+public:
+ enum TransactionInfoRole {
+ TransactionRole = Qt::UserRole + 1, // for the TransactionInfo object;
+ TransactionDirectionRole,
+ TransactionPendingRole,
+ TransactionFailedRole,
+ TransactionAmountRole,
+ TransactionFeeRole,
+ TransactionBlockHeightRole,
+ TransactionHashRole,
+ TransactionTimeStampRole,
+ TransactionPaymentIdRole
+ };
+
+ TransactionHistoryModel(QObject * parent = 0);
+ void setTransactionHistory(TransactionHistory * th);
+ 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;
+
+signals:
+ void transactionHistoryChanged();
+
+private:
+ TransactionHistory * m_transactionHistory;
+
+};
+
+#endif // TRANSACTIONHISTORYMODEL_H