aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2013-01-09 03:14:48 -0500
committerPeter Todd <pete@petertodd.org>2013-01-09 04:18:26 -0500
commit10046e27dbc10270f59385231736da2a9a327a8f (patch)
treea489d08a60724a0387570aa556574d02b1dbd42b /src
parent429915bd0dfcdb03b13d9a3c2fb82d5401ef70ce (diff)
downloadbitcoin-10046e27dbc10270f59385231736da2a9a327a8f.tar.xz
Display tx nLockTime correctly when set to block #
Previously when a transaction was set to lock at a specific block the calculation was reversed, returning a negative number. This broke the UI and caused it to display %n in place of the actual number. In addition the previous calculation would display "Open for 0 blocks" when the block height was such that the next block created would finalize the transaction. Inserted the word "more" and changed the calculation so that the last message would be "Open for 1 more block" to better match user expectations.
Diffstat (limited to 'src')
-rw-r--r--src/qt/transactiondesc.cpp2
-rw-r--r--src/qt/transactionrecord.cpp2
-rw-r--r--src/qt/transactionrecord.h4
-rw-r--r--src/qt/transactiontablemodel.cpp2
4 files changed, 6 insertions, 4 deletions
diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp
index e358c12e96..d5b08448dd 100644
--- a/src/qt/transactiondesc.cpp
+++ b/src/qt/transactiondesc.cpp
@@ -14,7 +14,7 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx)
if (!wtx.IsFinal())
{
if (wtx.nLockTime < LOCKTIME_THRESHOLD)
- return tr("Open for %n block(s)", "", nBestHeight - wtx.nLockTime);
+ return tr("Open for %n more block(s)", "", wtx.nLockTime - nBestHeight + 1);
else
return tr("Open until %1").arg(GUIUtil::dateTimeStr(wtx.nLockTime));
}
diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp
index 4c3071984f..40a5f735cd 100644
--- a/src/qt/transactionrecord.cpp
+++ b/src/qt/transactionrecord.cpp
@@ -167,7 +167,7 @@ void TransactionRecord::updateStatus(const CWalletTx &wtx)
if (wtx.nLockTime < LOCKTIME_THRESHOLD)
{
status.status = TransactionStatus::OpenUntilBlock;
- status.open_for = nBestHeight - wtx.nLockTime;
+ status.open_for = wtx.nLockTime - nBestHeight + 1;
}
else
{
diff --git a/src/qt/transactionrecord.h b/src/qt/transactionrecord.h
index db06374c44..f6570803de 100644
--- a/src/qt/transactionrecord.h
+++ b/src/qt/transactionrecord.h
@@ -47,7 +47,9 @@ public:
@{*/
Status status;
int64 depth;
- int64 open_for; /**< Timestamp if status==OpenUntilDate, otherwise number of blocks */
+ int64 open_for; /**< Timestamp if status==OpenUntilDate, otherwise number
+ of additional blocks that need to be mined before
+ finalization */
/**@}*/
/** Current number of blocks (to know whether cached status is still valid) */
diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp
index 847c9e9733..aef0e409bd 100644
--- a/src/qt/transactiontablemodel.cpp
+++ b/src/qt/transactiontablemodel.cpp
@@ -280,7 +280,7 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons
switch(wtx->status.status)
{
case TransactionStatus::OpenUntilBlock:
- status = tr("Open for %n block(s)","",wtx->status.open_for);
+ status = tr("Open for %n more block(s)","",wtx->status.open_for);
break;
case TransactionStatus::OpenUntilDate:
status = tr("Open until %1").arg(GUIUtil::dateTimeStr(wtx->status.open_for));