aboutsummaryrefslogtreecommitdiff
path: root/src/qt/transactionfilterproxy.cpp
diff options
context:
space:
mode:
authorCozz Lovan <cozzlovan@yahoo.com>2014-08-10 02:26:04 +0200
committerCozz Lovan <cozzlovan@yahoo.com>2014-08-11 21:38:36 +0200
commit1c5f0af0fd8b5630470d471d8319a7c979aa2587 (patch)
tree4eb6b12ba606e034284fb65ad7263515bf227d01 /src/qt/transactionfilterproxy.cpp
parent939ed97373fdea0e8ecb173f1c22eb53b9f90bb6 (diff)
downloadbitcoin-1c5f0af0fd8b5630470d471d8319a7c979aa2587.tar.xz
[Qt] Add column Watch-only to transactions list
Diffstat (limited to 'src/qt/transactionfilterproxy.cpp')
-rw-r--r--src/qt/transactionfilterproxy.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qt/transactionfilterproxy.cpp b/src/qt/transactionfilterproxy.cpp
index f9546fddb5..6ab029173b 100644
--- a/src/qt/transactionfilterproxy.cpp
+++ b/src/qt/transactionfilterproxy.cpp
@@ -22,6 +22,7 @@ TransactionFilterProxy::TransactionFilterProxy(QObject *parent) :
dateTo(MAX_DATE),
addrPrefix(),
typeFilter(ALL_TYPES),
+ watchOnlyFilter(WatchOnlyFilter_All),
minAmount(0),
limitRows(-1),
showInactive(true)
@@ -34,6 +35,7 @@ bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex &
int type = index.data(TransactionTableModel::TypeRole).toInt();
QDateTime datetime = index.data(TransactionTableModel::DateRole).toDateTime();
+ bool involvesWatchAddress = index.data(TransactionTableModel::WatchonlyRole).toBool();
QString address = index.data(TransactionTableModel::AddressRole).toString();
QString label = index.data(TransactionTableModel::LabelRole).toString();
qint64 amount = llabs(index.data(TransactionTableModel::AmountRole).toLongLong());
@@ -43,6 +45,10 @@ bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex &
return false;
if(!(TYPE(type) & typeFilter))
return false;
+ if (involvesWatchAddress && watchOnlyFilter == WatchOnlyFilter_No)
+ return false;
+ if (!involvesWatchAddress && watchOnlyFilter == WatchOnlyFilter_Yes)
+ return false;
if(datetime < dateFrom || datetime > dateTo)
return false;
if (!address.contains(addrPrefix, Qt::CaseInsensitive) && !label.contains(addrPrefix, Qt::CaseInsensitive))
@@ -78,6 +84,12 @@ void TransactionFilterProxy::setMinAmount(qint64 minimum)
invalidateFilter();
}
+void TransactionFilterProxy::setWatchOnlyFilter(WatchOnlyFilter filter)
+{
+ this->watchOnlyFilter = filter;
+ invalidateFilter();
+}
+
void TransactionFilterProxy::setLimit(int limit)
{
this->limitRows = limit;