aboutsummaryrefslogtreecommitdiff
path: root/src/qt/transactiontablemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/transactiontablemodel.cpp')
-rw-r--r--src/qt/transactiontablemodel.cpp115
1 files changed, 52 insertions, 63 deletions
diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp
index 3777e82f3..959987461 100644
--- a/src/qt/transactiontablemodel.cpp
+++ b/src/qt/transactiontablemodel.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2013 The Bitcoin developers
+// Copyright (c) 2011-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
@@ -294,31 +294,29 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons
status = tr("Open until %1").arg(GUIUtil::dateTimeStr(wtx->status.open_for));
break;
case TransactionStatus::Offline:
- status = tr("Offline (%1 confirmations)").arg(wtx->status.depth);
+ status = tr("Offline");
break;
case TransactionStatus::Unconfirmed:
- status = tr("Unconfirmed (%1 of %2 confirmations)").arg(wtx->status.depth).arg(TransactionRecord::NumConfirmations);
+ status = tr("Unconfirmed");
break;
- case TransactionStatus::HaveConfirmations:
+ case TransactionStatus::Confirming:
+ status = tr("Confirming (%1 of %2 recommended confirmations)").arg(wtx->status.depth).arg(TransactionRecord::RecommendedNumConfirmations);
+ break;
+ case TransactionStatus::Confirmed:
status = tr("Confirmed (%1 confirmations)").arg(wtx->status.depth);
break;
- }
- if(wtx->type == TransactionRecord::Generated)
- {
- switch(wtx->status.maturity)
- {
- case TransactionStatus::Immature:
- status += "\n" + tr("Mined balance will be available when it matures in %n more block(s)", "", wtx->status.matures_in);
- break;
- case TransactionStatus::Mature:
- break;
- case TransactionStatus::MaturesWarning:
- status += "\n" + tr("This block was not received by any other nodes and will probably not be accepted!");
- break;
- case TransactionStatus::NotAccepted:
- status += "\n" + tr("Generated but not accepted");
- break;
- }
+ case TransactionStatus::Conflicted:
+ status = tr("Conflicted");
+ break;
+ case TransactionStatus::Immature:
+ status = tr("Immature (%1 confirmations, will be available after %2)").arg(wtx->status.depth).arg(wtx->status.depth + wtx->status.matures_in);
+ break;
+ case TransactionStatus::MaturesWarning:
+ status = tr("This block was not received by any other nodes and will probably not be accepted!");
+ break;
+ case TransactionStatus::NotAccepted:
+ status = tr("Generated but not accepted");
+ break;
}
return status;
@@ -436,7 +434,7 @@ QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool
QString str = BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), wtx->credit + wtx->debit);
if(showUnconfirmed)
{
- if(!wtx->status.confirmed || wtx->status.maturity != TransactionStatus::Mature)
+ if(!wtx->status.countsForBalance)
{
str = QString("[") + str + QString("]");
}
@@ -446,45 +444,36 @@ QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool
QVariant TransactionTableModel::txStatusDecoration(const TransactionRecord *wtx) const
{
- if(wtx->type == TransactionRecord::Generated)
- {
- switch(wtx->status.maturity)
- {
- case TransactionStatus::Immature: {
- int total = wtx->status.depth + wtx->status.matures_in;
- int part = (wtx->status.depth * 4 / total) + 1;
- return QIcon(QString(":/icons/transaction_%1").arg(part));
- }
- case TransactionStatus::Mature:
- return QIcon(":/icons/transaction_confirmed");
- case TransactionStatus::MaturesWarning:
- case TransactionStatus::NotAccepted:
- return QIcon(":/icons/transaction_0");
- }
- }
- else
+ switch(wtx->status.status)
{
- switch(wtx->status.status)
+ case TransactionStatus::OpenUntilBlock:
+ case TransactionStatus::OpenUntilDate:
+ return QColor(64,64,255);
+ case TransactionStatus::Offline:
+ return QColor(192,192,192);
+ case TransactionStatus::Unconfirmed:
+ return QIcon(":/icons/transaction_0");
+ case TransactionStatus::Confirming:
+ switch(wtx->status.depth)
{
- case TransactionStatus::OpenUntilBlock:
- case TransactionStatus::OpenUntilDate:
- return QColor(64,64,255);
- break;
- case TransactionStatus::Offline:
- return QColor(192,192,192);
- case TransactionStatus::Unconfirmed:
- switch(wtx->status.depth)
- {
- case 0: return QIcon(":/icons/transaction_0");
- case 1: return QIcon(":/icons/transaction_1");
- case 2: return QIcon(":/icons/transaction_2");
- case 3: return QIcon(":/icons/transaction_3");
- case 4: return QIcon(":/icons/transaction_4");
- default: return QIcon(":/icons/transaction_5");
- };
- case TransactionStatus::HaveConfirmations:
- return QIcon(":/icons/transaction_confirmed");
+ case 1: return QIcon(":/icons/transaction_1");
+ case 2: return QIcon(":/icons/transaction_2");
+ case 3: return QIcon(":/icons/transaction_3");
+ case 4: return QIcon(":/icons/transaction_4");
+ default: return QIcon(":/icons/transaction_5");
+ };
+ case TransactionStatus::Confirmed:
+ return QIcon(":/icons/transaction_confirmed");
+ case TransactionStatus::Conflicted:
+ return QIcon(":/icons/transaction_conflicted");
+ case TransactionStatus::Immature: {
+ int total = wtx->status.depth + wtx->status.matures_in;
+ int part = (wtx->status.depth * 4 / total) + 1;
+ return QIcon(QString(":/icons/transaction_%1").arg(part));
}
+ case TransactionStatus::MaturesWarning:
+ case TransactionStatus::NotAccepted:
+ return QIcon(":/icons/transaction_0");
}
return QColor(0,0,0);
}
@@ -551,8 +540,8 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
case Qt::TextAlignmentRole:
return column_alignments[index.column()];
case Qt::ForegroundRole:
- // Non-confirmed transactions are grey
- if(!rec->status.confirmed)
+ // Non-confirmed (but not immature) as transactions are grey
+ if(!rec->status.countsForBalance && rec->status.status != TransactionStatus::Immature)
{
return COLOR_UNCONFIRMED;
}
@@ -580,11 +569,11 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
case TxIDRole:
return rec->getTxID();
case ConfirmedRole:
- // Return True if transaction counts for balance
- return rec->status.confirmed && !(rec->type == TransactionRecord::Generated &&
- rec->status.maturity != TransactionStatus::Mature);
+ return rec->status.countsForBalance;
case FormattedAmountRole:
return formatTxAmount(rec, false);
+ case StatusRole:
+ return rec->status.status;
}
return QVariant();
}