aboutsummaryrefslogtreecommitdiff
path: root/src/qt/transactionfilterproxy.h
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2011-09-26 06:05:11 -0700
committerGavin Andresen <gavinandresen@gmail.com>2011-09-26 06:05:11 -0700
commitf7f2a36925bb560363f691fc3ca3dec83830dd15 (patch)
treec09327d910abe4e7947c53dcbb5f15b01ab194c1 /src/qt/transactionfilterproxy.h
parentf8937b2d3bb545a0a6ff78031ce3cdcb3208ecbe (diff)
parent0465c41c847ddee7eeb5caefb164149400ff8395 (diff)
downloadbitcoin-f7f2a36925bb560363f691fc3ca3dec83830dd15.tar.xz
Merge pull request #521 from laanwj/qt
Qt GUI
Diffstat (limited to 'src/qt/transactionfilterproxy.h')
-rw-r--r--src/qt/transactionfilterproxy.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h
new file mode 100644
index 0000000000..4dd2a8e5c6
--- /dev/null
+++ b/src/qt/transactionfilterproxy.h
@@ -0,0 +1,50 @@
+#ifndef TRANSACTIONFILTERPROXY_H
+#define TRANSACTIONFILTERPROXY_H
+
+#include <QSortFilterProxyModel>
+#include <QDateTime>
+
+// Filter transaction list according to pre-specified rules
+class TransactionFilterProxy : public QSortFilterProxyModel
+{
+ Q_OBJECT
+public:
+ explicit TransactionFilterProxy(QObject *parent = 0);
+
+ // Earliest date that can be represented (far in the past)
+ static const QDateTime MIN_DATE;
+ // Last date that can be represented (far in the future)
+ static const QDateTime MAX_DATE;
+ // Type filter bit field (all types)
+ static const quint32 ALL_TYPES = 0xFFFFFFFF;
+
+ static quint32 TYPE(int type) { return 1<<type; }
+
+ void setDateRange(const QDateTime &from, const QDateTime &to);
+ void setAddressPrefix(const QString &addrPrefix);
+ // Type filter takes a bitfield created with TYPE() or ALL_TYPES
+ void setTypeFilter(quint32 modes);
+ void setMinAmount(qint64 minimum);
+
+ // Set maximum number of rows returned, -1 if unlimited
+ void setLimit(int limit);
+
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+protected:
+ bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const;
+
+private:
+ QDateTime dateFrom;
+ QDateTime dateTo;
+ QString addrPrefix;
+ quint32 typeFilter;
+ qint64 minAmount;
+ int limitRows;
+
+signals:
+
+public slots:
+
+};
+
+#endif // TRANSACTIONFILTERPROXY_H