PRCYCoin  2.0.0.7rc1
P2P Digital Currency
transactionfilterproxy.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2013 The Bitcoin developers
2 // Distributed under the MIT/X11 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 = 0);
20 
22  static const QDateTime MIN_DATE;
24  static const QDateTime MAX_DATE;
26  static const quint32 ALL_TYPES = 0xFFFFFFFF;
28  static const quint32 COMMON_TYPES = 0x000003FFF;
29 
30  static quint32 TYPE(int type) { return 1 << type; }
31 
36  };
37 
38  void setDateRange(const QDateTime& from, const QDateTime& to);
39  void setAddressPrefix(const QString& addrPrefix);
43  void setTypeFilter(quint32 modes);
44  void setMinAmount(const CAmount& minimum);
46 
48  void setLimit(int limit);
49 
51  void setShowInactive(bool showInactive);
52 
54  void setHideOrphans(bool fHide);
55 
56  int rowCount(const QModelIndex& parent = QModelIndex()) const;
57  static bool isOrphan(const int status, const int type);
58 
59 protected:
60  bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const;
61 
62 private:
63  QDateTime dateFrom;
64  QDateTime dateTo;
65  QString addrPrefix;
66  quint32 typeFilter;
69  int limitRows;
72 };
73 
74 #endif // BITCOIN_QT_TRANSACTIONFILTERPROXY_H
TransactionFilterProxy::setAddressPrefix
void setAddressPrefix(const QString &addrPrefix)
Definition: transactionfilterproxy.cpp:77
TransactionFilterProxy::dateTo
QDateTime dateTo
Definition: transactionfilterproxy.h:64
TransactionFilterProxy::filterAcceptsRow
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
Definition: transactionfilterproxy.cpp:32
TransactionFilterProxy::rowCount
int rowCount(const QModelIndex &parent=QModelIndex()) const
Definition: transactionfilterproxy.cpp:112
TransactionFilterProxy::WatchOnlyFilter_All
@ WatchOnlyFilter_All
Definition: transactionfilterproxy.h:33
TransactionFilterProxy::WatchOnlyFilter_No
@ WatchOnlyFilter_No
Definition: transactionfilterproxy.h:35
TransactionFilterProxy::setHideOrphans
void setHideOrphans(bool fHide)
Set whether to hide orphan stakes.
Definition: transactionfilterproxy.cpp:71
TransactionFilterProxy::MIN_DATE
static const QDateTime MIN_DATE
Earliest date that can be represented (far in the past)
Definition: transactionfilterproxy.h:22
TransactionFilterProxy::addrPrefix
QString addrPrefix
Definition: transactionfilterproxy.h:65
TransactionFilterProxy::setShowInactive
void setShowInactive(bool showInactive)
Set whether to show conflicted transactions.
Definition: transactionfilterproxy.cpp:106
TransactionFilterProxy::showInactive
bool showInactive
Definition: transactionfilterproxy.h:70
TransactionFilterProxy::TransactionFilterProxy
TransactionFilterProxy(QObject *parent=0)
Definition: transactionfilterproxy.cpp:19
TransactionFilterProxy::setMinAmount
void setMinAmount(const CAmount &minimum)
Definition: transactionfilterproxy.cpp:89
CAmount
int64_t CAmount
Amount in PRCY (Can be negative)
Definition: amount.h:17
TransactionFilterProxy::setLimit
void setLimit(int limit)
Set maximum number of rows returned, -1 if unlimited.
Definition: transactionfilterproxy.cpp:101
TransactionFilterProxy::TYPE
static quint32 TYPE(int type)
Definition: transactionfilterproxy.h:30
TransactionFilterProxy::limitRows
int limitRows
Definition: transactionfilterproxy.h:69
TransactionFilterProxy::typeFilter
quint32 typeFilter
Definition: transactionfilterproxy.h:66
TransactionFilterProxy::setTypeFilter
void setTypeFilter(quint32 modes)
Definition: transactionfilterproxy.cpp:83
TransactionFilterProxy::setWatchOnlyFilter
void setWatchOnlyFilter(WatchOnlyFilter filter)
Definition: transactionfilterproxy.cpp:95
TransactionFilterProxy::MAX_DATE
static const QDateTime MAX_DATE
Last date that can be represented (far in the future)
Definition: transactionfilterproxy.h:24
TransactionFilterProxy::setDateRange
void setDateRange(const QDateTime &from, const QDateTime &to)
Definition: transactionfilterproxy.cpp:64
TransactionFilterProxy::WatchOnlyFilter_Yes
@ WatchOnlyFilter_Yes
Definition: transactionfilterproxy.h:34
TransactionFilterProxy::fHideOrphans
bool fHideOrphans
Definition: transactionfilterproxy.h:71
TransactionFilterProxy::WatchOnlyFilter
WatchOnlyFilter
Definition: transactionfilterproxy.h:32
TransactionFilterProxy::COMMON_TYPES
static const quint32 COMMON_TYPES
Type filter bit field (all types but Obfuscation-SPAM ...
Definition: transactionfilterproxy.h:28
TransactionFilterProxy::isOrphan
static bool isOrphan(const int status, const int type)
Definition: transactionfilterproxy.cpp:121
TransactionFilterProxy::watchOnlyFilter
WatchOnlyFilter watchOnlyFilter
Definition: transactionfilterproxy.h:67
amount.h
TransactionFilterProxy::minAmount
CAmount minAmount
Definition: transactionfilterproxy.h:68
TransactionFilterProxy::ALL_TYPES
static const quint32 ALL_TYPES
Type filter bit field (all types)
Definition: transactionfilterproxy.h:26
TransactionFilterProxy::dateFrom
QDateTime dateFrom
Definition: transactionfilterproxy.h:63
TransactionFilterProxy
Filter the transaction list according to pre-specified rules.
Definition: transactionfilterproxy.h:14