"Receive with" i.s.o. "Receive from" address
This commit is contained in:
parent
63760fa1cd
commit
8c937da5f2
3 changed files with 18 additions and 22 deletions
|
@ -51,7 +51,7 @@ public:
|
||||||
Generated,
|
Generated,
|
||||||
SendToAddress,
|
SendToAddress,
|
||||||
SendToIP,
|
SendToIP,
|
||||||
RecvFromAddress,
|
RecvWithAddress,
|
||||||
RecvFromIP,
|
RecvFromIP,
|
||||||
SendToSelf
|
SendToSelf
|
||||||
};
|
};
|
||||||
|
|
|
@ -128,7 +128,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Received by Bitcoin Address
|
// Received by Bitcoin Address
|
||||||
sub.type = TransactionRecord::RecvFromAddress;
|
sub.type = TransactionRecord::RecvWithAddress;
|
||||||
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
|
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
|
||||||
{
|
{
|
||||||
if (txout.IsMine())
|
if (txout.IsMine())
|
||||||
|
@ -176,9 +176,9 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
|
||||||
|
|
||||||
if (txout.IsMine())
|
if (txout.IsMine())
|
||||||
{
|
{
|
||||||
// Sent to self
|
// Ignore parts sent to self, as this is usually the change
|
||||||
sub.type = TransactionRecord::SendToSelf;
|
// from a transaction sent back to our own address.
|
||||||
sub.credit = txout.nValue;
|
continue;
|
||||||
} else if (!mapValue["to"].empty())
|
} else if (!mapValue["to"].empty())
|
||||||
{
|
{
|
||||||
// Sent to IP
|
// Sent to IP
|
||||||
|
@ -199,7 +199,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
|
||||||
nValue += nTxFee;
|
nValue += nTxFee;
|
||||||
nTxFee = 0;
|
nTxFee = 0;
|
||||||
}
|
}
|
||||||
sub.debit = nValue;
|
sub.debit = -nValue;
|
||||||
sub.status.sortKey += strprintf("-%d", nOut);
|
sub.status.sortKey += strprintf("-%d", nOut);
|
||||||
|
|
||||||
parts.append(sub);
|
parts.append(sub);
|
||||||
|
|
|
@ -27,25 +27,17 @@ public:
|
||||||
void refreshWallet()
|
void refreshWallet()
|
||||||
{
|
{
|
||||||
qDebug() << "refreshWallet";
|
qDebug() << "refreshWallet";
|
||||||
cachedWallet.clear();
|
|
||||||
|
|
||||||
/* Query wallet from core, and compare with our own
|
/* Query entire wallet from core.
|
||||||
representation.
|
|
||||||
*/
|
*/
|
||||||
|
cachedWallet.clear();
|
||||||
CRITICAL_BLOCK(cs_mapWallet)
|
CRITICAL_BLOCK(cs_mapWallet)
|
||||||
{
|
{
|
||||||
for(std::map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
|
for(std::map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
|
||||||
{
|
{
|
||||||
/* TODO: Make note of new and removed transactions */
|
|
||||||
/* insertedIndices */
|
|
||||||
/* removedIndices */
|
|
||||||
cachedWallet.append(TransactionRecord::decomposeTransaction(it->second));
|
cachedWallet.append(TransactionRecord::decomposeTransaction(it->second));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* beginInsertRows(QModelIndex(), first, last) */
|
|
||||||
/* endInsertRows */
|
|
||||||
/* beginRemoveRows(QModelIndex(), first, last) */
|
|
||||||
/* beginEndRows */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Update our model of the wallet.
|
/* Update our model of the wallet.
|
||||||
|
@ -64,6 +56,10 @@ public:
|
||||||
{
|
{
|
||||||
qDebug() << " " << QString::fromStdString(hash.ToString());
|
qDebug() << " " << QString::fromStdString(hash.ToString());
|
||||||
}
|
}
|
||||||
|
/* beginInsertRows(QModelIndex(), first, last) */
|
||||||
|
/* endInsertRows */
|
||||||
|
/* beginRemoveRows(QModelIndex(), first, last) */
|
||||||
|
/* beginEndRows */
|
||||||
|
|
||||||
refreshWallet();
|
refreshWallet();
|
||||||
}
|
}
|
||||||
|
@ -218,17 +214,17 @@ QVariant TransactionTableModel::formatTxDescription(const TransactionRecord *wtx
|
||||||
|
|
||||||
switch(wtx->type)
|
switch(wtx->type)
|
||||||
{
|
{
|
||||||
case TransactionRecord::RecvFromAddress:
|
case TransactionRecord::RecvWithAddress:
|
||||||
description = tr("From: ") + QString::fromStdString(lookupAddress(wtx->address));
|
description = tr("Received with: ") + QString::fromStdString(lookupAddress(wtx->address));
|
||||||
break;
|
break;
|
||||||
case TransactionRecord::RecvFromIP:
|
case TransactionRecord::RecvFromIP:
|
||||||
description = tr("From IP: ") + QString::fromStdString(wtx->address);
|
description = tr("Received from IP: ") + QString::fromStdString(wtx->address);
|
||||||
break;
|
break;
|
||||||
case TransactionRecord::SendToAddress:
|
case TransactionRecord::SendToAddress:
|
||||||
description = tr("To: ") + QString::fromStdString(lookupAddress(wtx->address));
|
description = tr("Sent to: ") + QString::fromStdString(lookupAddress(wtx->address));
|
||||||
break;
|
break;
|
||||||
case TransactionRecord::SendToIP:
|
case TransactionRecord::SendToIP:
|
||||||
description = tr("To IP: ") + QString::fromStdString(wtx->address);
|
description = tr("Sent to IP: ") + QString::fromStdString(wtx->address);
|
||||||
break;
|
break;
|
||||||
case TransactionRecord::SendToSelf:
|
case TransactionRecord::SendToSelf:
|
||||||
description = tr("Payment to yourself");
|
description = tr("Payment to yourself");
|
||||||
|
@ -340,7 +336,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
|
||||||
/* Role for filtering tabs by type */
|
/* Role for filtering tabs by type */
|
||||||
switch(rec->type)
|
switch(rec->type)
|
||||||
{
|
{
|
||||||
case TransactionRecord::RecvFromAddress:
|
case TransactionRecord::RecvWithAddress:
|
||||||
case TransactionRecord::RecvFromIP:
|
case TransactionRecord::RecvFromIP:
|
||||||
return TransactionTableModel::Received;
|
return TransactionTableModel::Received;
|
||||||
case TransactionRecord::SendToAddress:
|
case TransactionRecord::SendToAddress:
|
||||||
|
|
Loading…
Reference in a new issue