Bitcoin
transactionfilterproxy.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_QT_TRANSACTIONFILTERPROXY_H
6 #define BITCOIN_QT_TRANSACTIONFILTERPROXY_H
7 
8 #include <amount.h>
9 
10 #include <QDateTime>
11 #include <QSortFilterProxyModel>
12 
14 class TransactionFilterProxy : public QSortFilterProxyModel
15 {
16  Q_OBJECT
17 
18 public:
19  explicit TransactionFilterProxy(QObject *parent = nullptr);
20 
22  static const QDateTime MIN_DATE;
24  static const QDateTime MAX_DATE;
26  static const quint32 ALL_TYPES = 0xFFFFFFFF;
27 
28  static quint32 TYPE(int type) { return 1<<type; }
29 
31  {
35  };
36 
37  void setDateRange(const QDateTime &from, const QDateTime &to);
38  void setSearchString(const QString &);
42  void setTypeFilter(quint32 modes);
43  void setMinAmount(const CAmount& minimum);
45 
47  void setLimit(int limit);
48 
50  void setShowInactive(bool showInactive);
51 
52  int rowCount(const QModelIndex &parent = QModelIndex()) const;
53 
54 protected:
55  bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const;
56 
57 private:
58  QDateTime dateFrom;
59  QDateTime dateTo;
60  QString m_search_string;
61  quint32 typeFilter;
64  int limitRows;
66 };
67 
68 #endif // BITCOIN_QT_TRANSACTIONFILTERPROXY_H
Definition: transactionfilterproxy.h:34
Definition: transactionfilterproxy.h:14
bool showInactive
Definition: transactionfilterproxy.h:65
static const QDateTime MAX_DATE
Definition: transactionfilterproxy.h:24
CAmount minAmount
Definition: transactionfilterproxy.h:63
static const QDateTime MIN_DATE
Definition: transactionfilterproxy.h:22
void setLimit(int limit)
Definition: transactionfilterproxy.cpp:100
quint32 typeFilter
Definition: transactionfilterproxy.h:61
QString m_search_string
Definition: transactionfilterproxy.h:60
int64_t CAmount
Definition: amount.h:12
void setShowInactive(bool showInactive)
Definition: transactionfilterproxy.cpp:105
static quint32 TYPE(int type)
Definition: transactionfilterproxy.h:28
void setSearchString(const QString &)
Definition: transactionfilterproxy.cpp:75
QDateTime dateTo
Definition: transactionfilterproxy.h:59
WatchOnlyFilter
Definition: transactionfilterproxy.h:30
Definition: transactionfilterproxy.h:32
int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: transactionfilterproxy.cpp:111
static const quint32 ALL_TYPES
Definition: transactionfilterproxy.h:26
TransactionFilterProxy(QObject *parent=nullptr)
Definition: transactionfilterproxy.cpp:17
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
Definition: transactionfilterproxy.cpp:30
Definition: transactionfilterproxy.h:33
void setWatchOnlyFilter(WatchOnlyFilter filter)
Definition: transactionfilterproxy.cpp:94
void setDateRange(const QDateTime &from, const QDateTime &to)
Definition: transactionfilterproxy.cpp:68
QDateTime dateFrom
Definition: transactionfilterproxy.h:58
int limitRows
Definition: transactionfilterproxy.h:64
void setMinAmount(const CAmount &minimum)
Definition: transactionfilterproxy.cpp:88
WatchOnlyFilter watchOnlyFilter
Definition: transactionfilterproxy.h:62
void setTypeFilter(quint32 modes)
Definition: transactionfilterproxy.cpp:82