qt: Hide non PKHash-Addresses in signing address book

This commit is contained in:
Emil Engler
2020-01-13 19:50:44 +01:00
parent 2ed74a43a0
commit c4ea501e96
6 changed files with 16 additions and 5 deletions

View File

@@ -11,6 +11,7 @@
#include <wallet/wallet.h>
#include <algorithm>
#include <typeinfo>
#include <QFont>
#include <QDebug>
@@ -75,12 +76,14 @@ public:
explicit AddressTablePriv(AddressTableModel *_parent):
parent(_parent) {}
void refreshAddressTable(interfaces::Wallet& wallet)
void refreshAddressTable(interfaces::Wallet& wallet, bool pk_hash_only = false)
{
cachedAddressTable.clear();
{
for (const auto& address : wallet.getAddresses())
{
if (pk_hash_only && address.dest.type() != typeid(PKHash))
continue;
AddressTableEntry::Type addressType = translateTransactionType(
QString::fromStdString(address.purpose), address.is_mine);
cachedAddressTable.append(AddressTableEntry(addressType,
@@ -159,12 +162,12 @@ public:
}
};
AddressTableModel::AddressTableModel(WalletModel *parent) :
AddressTableModel::AddressTableModel(WalletModel *parent, bool pk_hash_only) :
QAbstractTableModel(parent), walletModel(parent)
{
columns << tr("Label") << tr("Address");
priv = new AddressTablePriv(this);
priv->refreshAddressTable(parent->wallet());
priv->refreshAddressTable(parent->wallet(), pk_hash_only);
}
AddressTableModel::~AddressTableModel()