History: filter by subaddress label

This commit is contained in:
tobtoht 2021-02-03 19:36:03 +01:00
parent e0f7473ed4
commit ffd7879096
No known key found for this signature in database
GPG key ID: 1CADD27F41F45C3C
2 changed files with 10 additions and 9 deletions

View file

@ -13,20 +13,19 @@ TransactionHistoryProxyModel::TransactionHistoryProxyModel(Wallet *wallet, QObje
{
m_searchRegExp.setCaseSensitivity(Qt::CaseInsensitive);
m_searchRegExp.setPatternSyntax(QRegExp::RegExp);
m_history = m_wallet->history();
}
bool TransactionHistoryProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
{
QModelIndex descriptionIndex = sourceModel()->index(sourceRow, TransactionHistoryModel::Description, sourceParent);
QModelIndex txidIndex = sourceModel()->index(sourceRow, TransactionHistoryModel::TxID, sourceParent);
QString descriptionData = sourceModel()->data(descriptionIndex).toString();
QString txidData = sourceModel()->data(txidIndex).toString();
QString description, txid, subaddrlabel;
quint32 subaddrAcount;
QSet<quint32> subaddrIndex;
m_wallet->history()->transaction(sourceRow, [&subaddrAcount, &subaddrIndex](TransactionInfo &tInfo){
m_history->transaction(sourceRow, [&description, &txid, &subaddrlabel, &subaddrAcount, &subaddrIndex](TransactionInfo &tInfo){
description = tInfo.description();
txid = tInfo.hash();
subaddrlabel = tInfo.label();
subaddrAcount = tInfo.subaddrAccount();
subaddrIndex = tInfo.subaddrIndex();
});
@ -38,5 +37,5 @@ bool TransactionHistoryProxyModel::filterAcceptsRow(int sourceRow, const QModelI
if (addressFound) break;
}
return (descriptionData.contains(m_searchRegExp) || txidData.contains(m_searchRegExp)) || addressFound;
return (description.contains(m_searchRegExp) || txid.contains(m_searchRegExp) || subaddrlabel.contains(m_searchRegExp)) || addressFound;
}

View file

@ -6,6 +6,7 @@
#include "libwalletqt/TransactionHistory.h"
#include "libwalletqt/Wallet.h"
#include "libwalletqt/TransactionHistory.h"
#include <QSortFilterProxyModel>
@ -24,6 +25,7 @@ public slots:
private:
Wallet *m_wallet;
TransactionHistory *m_history;
QRegExp m_searchRegExp;
};