diff options
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 |