Browse Source

"Receive with" i.s.o. "Receive from" address

miguelfreitas
Wladimir J. van der Laan 14 years ago
parent
commit
8c937da5f2
  1. 2
      gui/include/transactionrecord.h
  2. 10
      gui/src/transactionrecord.cpp
  3. 28
      gui/src/transactiontablemodel.cpp

2
gui/include/transactionrecord.h

@ -51,7 +51,7 @@ public: @@ -51,7 +51,7 @@ public:
Generated,
SendToAddress,
SendToIP,
RecvFromAddress,
RecvWithAddress,
RecvFromIP,
SendToSelf
};

10
gui/src/transactionrecord.cpp

@ -128,7 +128,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx @@ -128,7 +128,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
else
{
// Received by Bitcoin Address
sub.type = TransactionRecord::RecvFromAddress;
sub.type = TransactionRecord::RecvWithAddress;
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
{
if (txout.IsMine())
@ -176,9 +176,9 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx @@ -176,9 +176,9 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
if (txout.IsMine())
{
// Sent to self
sub.type = TransactionRecord::SendToSelf;
sub.credit = txout.nValue;
// Ignore parts sent to self, as this is usually the change
// from a transaction sent back to our own address.
continue;
} else if (!mapValue["to"].empty())
{
// Sent to IP
@ -199,7 +199,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx @@ -199,7 +199,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWalletTx
nValue += nTxFee;
nTxFee = 0;
}
sub.debit = nValue;
sub.debit = -nValue;
sub.status.sortKey += strprintf("-%d", nOut);
parts.append(sub);

28
gui/src/transactiontablemodel.cpp

@ -27,25 +27,17 @@ public: @@ -27,25 +27,17 @@ public:
void refreshWallet()
{
qDebug() << "refreshWallet";
cachedWallet.clear();
/* Query wallet from core, and compare with our own
representation.
/* Query entire wallet from core.
*/
cachedWallet.clear();
CRITICAL_BLOCK(cs_mapWallet)
{
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));
}
}
/* beginInsertRows(QModelIndex(), first, last) */
/* endInsertRows */
/* beginRemoveRows(QModelIndex(), first, last) */
/* beginEndRows */
}
/* Update our model of the wallet.
@ -64,6 +56,10 @@ public: @@ -64,6 +56,10 @@ public:
{
qDebug() << " " << QString::fromStdString(hash.ToString());
}
/* beginInsertRows(QModelIndex(), first, last) */
/* endInsertRows */
/* beginRemoveRows(QModelIndex(), first, last) */
/* beginEndRows */
refreshWallet();
}
@ -218,17 +214,17 @@ QVariant TransactionTableModel::formatTxDescription(const TransactionRecord *wtx @@ -218,17 +214,17 @@ QVariant TransactionTableModel::formatTxDescription(const TransactionRecord *wtx
switch(wtx->type)
{
case TransactionRecord::RecvFromAddress:
description = tr("From: ") + QString::fromStdString(lookupAddress(wtx->address));
case TransactionRecord::RecvWithAddress:
description = tr("Received with: ") + QString::fromStdString(lookupAddress(wtx->address));
break;
case TransactionRecord::RecvFromIP:
description = tr("From IP: ") + QString::fromStdString(wtx->address);
description = tr("Received from IP: ") + QString::fromStdString(wtx->address);
break;
case TransactionRecord::SendToAddress:
description = tr("To: ") + QString::fromStdString(lookupAddress(wtx->address));
description = tr("Sent to: ") + QString::fromStdString(lookupAddress(wtx->address));
break;
case TransactionRecord::SendToIP:
description = tr("To IP: ") + QString::fromStdString(wtx->address);
description = tr("Sent to IP: ") + QString::fromStdString(wtx->address);
break;
case TransactionRecord::SendToSelf:
description = tr("Payment to yourself");
@ -340,7 +336,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const @@ -340,7 +336,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
/* Role for filtering tabs by type */
switch(rec->type)
{
case TransactionRecord::RecvFromAddress:
case TransactionRecord::RecvWithAddress:
case TransactionRecord::RecvFromIP:
return TransactionTableModel::Received;
case TransactionRecord::SendToAddress:

Loading…
Cancel
Save