diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-06-28 21:41:56 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2011-06-29 23:09:55 +0200 |
commit | ceb6d4e11d8dab8a6778e20c433f6ed989c16221 (patch) | |
tree | 9c38a4254968ef15db820a6fac0bb8ff270957a0 /src/qt/transactionfilterproxy.h | |
parent | 19a5975d5a024de37851524d72993f98dbdaff0c (diff) | |
download | bitcoin-ceb6d4e11d8dab8a6778e20c433f6ed989c16221.tar.xz |
Implement filter row instead of tabs, allows for more expressive filters
Diffstat (limited to 'src/qt/transactionfilterproxy.h')
-rw-r--r-- | src/qt/transactionfilterproxy.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h new file mode 100644 index 0000000000..a44c9c4df7 --- /dev/null +++ b/src/qt/transactionfilterproxy.h @@ -0,0 +1,45 @@ +#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); + +protected: + bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const; + +private: + QDateTime dateFrom; + QDateTime dateTo; + QString addrPrefix; + quint32 typeFilter; + qint64 minAmount; + +signals: + +public slots: + +}; + +#endif // TRANSACTIONFILTERPROXY_H |