Skip to content

Commit 589c892

Browse files
authored
Fix 2 more bottlenecks causing GUI lockups (#3169)
* Remove dataChanged call for ToAddress This call is redundant since a long time already. It comes from a time where there was no ToAddress column, but only a Description column which also contained status information for coinbases. This is gone for a long time already, so the ToAddress column has nothing included which might change when confirmations change. For the history: 34fa178 splitted the Description column into Type and ToAddress e599246 removed last traces of status from the ToAddress column * Avoid call to labelForAddress in formatTxToAddress This speeds up sorting by address
1 parent dfd6ee4 commit 589c892

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

src/qt/transactiontablemodel.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ void TransactionTableModel::updateConfirmations()
302302
// for all rows. Qt is smart enough to only actually request the data for the
303303
// visible rows.
304304
Q_EMIT dataChanged(index(0, Status), index(priv->size()-1, Status));
305-
Q_EMIT dataChanged(index(0, ToAddress), index(priv->size()-1, ToAddress));
306305
}
307306

308307

@@ -381,12 +380,11 @@ QString TransactionTableModel::formatTxDate(const TransactionRecord *wtx) const
381380
return QString();
382381
}
383382

384-
/* Look up address in address book, if found return label (address)
383+
/* If label is non-empty, return label (address)
385384
otherwise just return (address)
386385
*/
387-
QString TransactionTableModel::lookupAddress(const std::string &address, bool tooltip) const
386+
QString TransactionTableModel::formatAddressLabel(const std::string &address, const QString& label, bool tooltip) const
388387
{
389-
QString label = walletModel->getAddressTableModel()->labelForAddress(QString::fromStdString(address));
390388
QString description;
391389
if(!label.isEmpty())
392390
{
@@ -469,7 +467,7 @@ QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, b
469467
case TransactionRecord::SendToAddress:
470468
case TransactionRecord::Generated:
471469
case TransactionRecord::PrivateSend:
472-
return lookupAddress(wtx->strAddress, tooltip) + watchAddress;
470+
return formatAddressLabel(wtx->strAddress, wtx->status.label, tooltip) + watchAddress;
473471
case TransactionRecord::SendToOther:
474472
return QString::fromStdString(wtx->strAddress) + watchAddress;
475473
case TransactionRecord::SendToSelf:

src/qt/transactiontablemodel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class TransactionTableModel : public QAbstractTableModel
102102
void subscribeToCoreSignals();
103103
void unsubscribeFromCoreSignals();
104104

105-
QString lookupAddress(const std::string &address, bool tooltip) const;
105+
QString formatAddressLabel(const std::string &address, const QString& label, bool tooltip) const;
106106
QVariant addressColor(const TransactionRecord *wtx) const;
107107
QString formatTxStatus(const TransactionRecord *wtx) const;
108108
QString formatTxDate(const TransactionRecord *wtx) const;

0 commit comments

Comments
 (0)