From a7f5420ca80a59aa2c5242eb323d01ddec051671 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Sun, 7 Feb 2021 23:41:13 +0300 Subject: [PATCH 1/3] qt: Fix labels in transaction list The issue was introduced in #3682 --- src/qt/transactionrecord.cpp | 3 +-- src/qt/transactiontablemodel.cpp | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index e3aeca2b91a6..b3e87dcf040e 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -50,7 +50,6 @@ QList TransactionRecord::decomposeTransaction(const interface if(mine) { TransactionRecord sub(hash, nTime); - CTxDestination address; sub.idx = i; // vout index sub.credit = txout.nValue; sub.involvesWatchAddress = mine & ISMINE_WATCH_ONLY; @@ -59,7 +58,7 @@ QList TransactionRecord::decomposeTransaction(const interface // Received by Dash Address sub.type = TransactionRecord::RecvWithAddress; sub.strAddress = EncodeDestination(wtx.txout_address[i]); - sub.txDest = address; + sub.txDest = wtx.txout_address[i]; } else { diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 606a8929dfbd..57fb40331d26 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -205,6 +205,15 @@ class TransactionTablePriv int64_t adjustedTime; if (rec->statusUpdateNeeded(numBlocks, parent->getChainLockHeight()) && wallet.tryGetTxStatus(rec->hash, wtx, adjustedTime)) { rec->updateStatus(wtx, numBlocks, adjustedTime, parent->getChainLockHeight()); + // Update label + if (IsValidDestination(rec->txDest)) { + std::string name; + if (wallet.getAddress(rec->txDest, &name)) { + rec->status.label = QString::fromStdString(name); + } else{ + rec->status.label = ""; + } + } } return rec; } From 499f161f314c6422c63e27209d95f6cfbe6a5863 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 8 Feb 2021 00:31:20 +0300 Subject: [PATCH 2/3] qt: Always use labels from TransactionStatus for transaction list Missed this in #3155 --- src/qt/transactiontablemodel.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 57fb40331d26..2b64517d9f1b 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -4,7 +4,6 @@ #include -#include #include #include #include @@ -460,9 +459,9 @@ QVariant TransactionTableModel::addressColor(const TransactionRecord *wtx) const case TransactionRecord::PrivateSend: case TransactionRecord::RecvWithPrivateSend: { - QString label = walletModel->getAddressTableModel()->labelForDestination(wtx->txDest); - if(label.isEmpty()) + if (wtx->status.label.isEmpty()) { return GUIUtil::getThemedQColor(GUIUtil::ThemedColor::BAREADDRESS); + } } break; case TransactionRecord::SendToSelf: case TransactionRecord::PrivateSendCreateDenominations: From ecd5e93f9d10e3a389cd89d34b48d508c65e5c3a Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 10 Feb 2021 17:41:15 +0300 Subject: [PATCH 3/3] Update src/qt/transactiontablemodel.cpp Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com> --- src/qt/transactiontablemodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 2b64517d9f1b..fbfc6597e93a 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -209,7 +209,7 @@ class TransactionTablePriv std::string name; if (wallet.getAddress(rec->txDest, &name)) { rec->status.label = QString::fromStdString(name); - } else{ + } else { rec->status.label = ""; } }