diff options
| author | Wladimir J. van der Laan <[email protected]> | 2013-09-06 04:21:45 -0700 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2013-09-06 04:21:45 -0700 |
| commit | 495242c1adff8832d7d30b920aa71f31dd63a2a6 (patch) | |
| tree | 68fc6fb4f9c04f80a94dc4100d66e9245d64a0da /src/qt | |
| parent | Merge pull request #2973 from Diapolo/qDebug (diff) | |
| parent | qt: add vout index to transaction id in transactions details dialog (diff) | |
| download | discoin-495242c1adff8832d7d30b920aa71f31dd63a2a6.tar.xz discoin-495242c1adff8832d7d30b920aa71f31dd63a2a6.zip | |
Merge pull request #2976 from laanwj/2013_09_txid_details
qt: add vout index to transaction id in transactions details dialog
Diffstat (limited to 'src/qt')
| -rw-r--r-- | src/qt/transactiondesc.cpp | 7 | ||||
| -rw-r--r-- | src/qt/transactiondesc.h | 2 | ||||
| -rw-r--r-- | src/qt/transactionrecord.cpp | 9 | ||||
| -rw-r--r-- | src/qt/transactionrecord.h | 6 | ||||
| -rw-r--r-- | src/qt/transactiontablemodel.cpp | 4 |
5 files changed, 19 insertions, 9 deletions
diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp index 55875c2e4..e27aa93a4 100644 --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -8,6 +8,7 @@ #include "ui_interface.h" #include "base58.h" #include "paymentserver.h" +#include "transactionrecord.h" #include <string> @@ -32,7 +33,7 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx) } } -QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, int unit) +QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, int vout, int unit) { QString strHTML; @@ -215,7 +216,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, int unit) if (wtx.mapValue.count("comment") && !wtx.mapValue["comment"].empty()) strHTML += "<br><b>" + tr("Comment") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.mapValue["comment"], true) + "<br>"; - strHTML += "<b>" + tr("Transaction ID") + ":</b> " + wtx.GetHash().ToString().c_str() + "<br>"; + strHTML += "<b>" + tr("Transaction ID") + ":</b> " + TransactionRecord::formatSubTxId(wtx.GetHash(), vout) + "<br>"; // // PaymentRequest info: @@ -225,7 +226,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, int unit) if (r.first == "PaymentRequest") { PaymentRequestPlus req; - req.parse(QByteArray::fromRawData(r.second.c_str(), r.second.size())); + req.parse(QByteArray::fromRawData(r.second.data(), r.second.size())); QString merchant; if (req.getMerchant(PaymentServer::getCertStore(), merchant)) strHTML += "<b>" + tr("Merchant") + ":</b> " + GUIUtil::HtmlEscape(merchant) + "<br>"; diff --git a/src/qt/transactiondesc.h b/src/qt/transactiondesc.h index a659281dd..8b3684e96 100644 --- a/src/qt/transactiondesc.h +++ b/src/qt/transactiondesc.h @@ -14,7 +14,7 @@ class TransactionDesc: public QObject Q_OBJECT public: - static QString toHTML(CWallet *wallet, CWalletTx &wtx, int unit); + static QString toHTML(CWallet *wallet, CWalletTx &wtx, int vout, int unit); private: TransactionDesc() {} diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index e95450876..ea2c1f0a5 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -224,8 +224,13 @@ bool TransactionRecord::statusUpdateNeeded() return status.cur_num_blocks != nBestHeight; } -std::string TransactionRecord::getTxID() +QString TransactionRecord::getTxID() const { - return hash.ToString() + strprintf("-%03d", idx); + return formatSubTxId(hash, idx); +} + +QString TransactionRecord::formatSubTxId(const uint256 &hash, int vout) +{ + return QString::fromStdString(hash.ToString() + strprintf("-%03d", vout)); } diff --git a/src/qt/transactionrecord.h b/src/qt/transactionrecord.h index d760d47c8..480e7a7f2 100644 --- a/src/qt/transactionrecord.h +++ b/src/qt/transactionrecord.h @@ -4,6 +4,7 @@ #include "uint256.h" #include <QList> +#include <QString> class CWallet; class CWalletTx; @@ -117,7 +118,10 @@ public: TransactionStatus status; /** Return the unique identifier for this transaction (part) */ - std::string getTxID(); + QString getTxID() const; + + /** Format subtransaction id */ + static QString formatSubTxId(const uint256 &hash, int vout); /** Update status from core wallet tx. */ diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index d27288b6f..07f6a6215 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -210,7 +210,7 @@ public: std::map<uint256, CWalletTx>::iterator mi = wallet->mapWallet.find(rec->hash); if(mi != wallet->mapWallet.end()) { - return TransactionDesc::toHTML(wallet, mi->second, unit); + return TransactionDesc::toHTML(wallet, mi->second, rec->idx, unit); } } return QString(""); @@ -571,7 +571,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const case AmountRole: return rec->credit + rec->debit; case TxIDRole: - return QString::fromStdString(rec->getTxID()); + return rec->getTxID(); case ConfirmedRole: // Return True if transaction counts for balance return rec->status.confirmed && !(rec->type == TransactionRecord::Generated && |