improve tooltip over transactions
This commit is contained in:
parent
ffccb56914
commit
126185aaa7
3 changed files with 30 additions and 23 deletions
|
@ -28,7 +28,7 @@ bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex &
|
|||
QDateTime datetime = index.data(TransactionTableModel::DateRole).toDateTime();
|
||||
QString address = index.data(TransactionTableModel::AddressRole).toString();
|
||||
QString label = index.data(TransactionTableModel::LabelRole).toString();
|
||||
qint64 amount = index.data(TransactionTableModel::AbsoluteAmountRole).toLongLong();
|
||||
qint64 amount = llabs(index.data(TransactionTableModel::AmountRole).toLongLong());
|
||||
|
||||
if(!(TYPE(type) & typeFilter))
|
||||
return false;
|
||||
|
|
|
@ -265,7 +265,7 @@ int TransactionTableModel::columnCount(const QModelIndex &parent) const
|
|||
return columns.length();
|
||||
}
|
||||
|
||||
QVariant TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) const
|
||||
QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) const
|
||||
{
|
||||
QString status;
|
||||
|
||||
|
@ -289,7 +289,7 @@ QVariant TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) con
|
|||
}
|
||||
if(wtx->type == TransactionRecord::Generated)
|
||||
{
|
||||
status += "\n\n";
|
||||
status += "\n";
|
||||
switch(wtx->status.maturity)
|
||||
{
|
||||
case TransactionStatus::Immature:
|
||||
|
@ -307,18 +307,18 @@ QVariant TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) con
|
|||
}
|
||||
}
|
||||
|
||||
return QVariant(status);
|
||||
return status;
|
||||
}
|
||||
|
||||
QVariant TransactionTableModel::formatTxDate(const TransactionRecord *wtx) const
|
||||
QString TransactionTableModel::formatTxDate(const TransactionRecord *wtx) const
|
||||
{
|
||||
if(wtx->time)
|
||||
{
|
||||
return QVariant(GUIUtil::DateTimeStr(wtx->time));
|
||||
return GUIUtil::DateTimeStr(wtx->time);
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -418,7 +418,7 @@ QVariant TransactionTableModel::addressColor(const TransactionRecord *wtx) const
|
|||
return QVariant();
|
||||
}
|
||||
|
||||
QVariant TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed) const
|
||||
QString TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed) const
|
||||
{
|
||||
QString str = BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), wtx->credit + wtx->debit);
|
||||
if(showUnconfirmed)
|
||||
|
@ -428,10 +428,10 @@ QVariant TransactionTableModel::formatTxAmount(const TransactionRecord *wtx, boo
|
|||
str = QString("[") + str + QString("]");
|
||||
}
|
||||
}
|
||||
return QVariant(str);
|
||||
return QString(str);
|
||||
}
|
||||
|
||||
QVariant TransactionTableModel::formatTxDecoration(const TransactionRecord *wtx) const
|
||||
QVariant TransactionTableModel::txStatusDecoration(const TransactionRecord *wtx) const
|
||||
{
|
||||
if(wtx->type == TransactionRecord::Generated)
|
||||
{
|
||||
|
@ -476,6 +476,18 @@ QVariant TransactionTableModel::formatTxDecoration(const TransactionRecord *wtx)
|
|||
return QColor(0,0,0);
|
||||
}
|
||||
|
||||
QString TransactionTableModel::formatTooltip(const TransactionRecord *rec) const
|
||||
{
|
||||
QString tooltip = formatTxType(rec);
|
||||
if(rec->type==TransactionRecord::RecvFromIP || rec->type==TransactionRecord::SendToIP ||
|
||||
rec->type==TransactionRecord::SendToAddress || rec->type==TransactionRecord::RecvWithAddress)
|
||||
{
|
||||
tooltip += QString(" ") + formatTxToAddress(rec, true);
|
||||
}
|
||||
tooltip += QString("\n") + formatTxStatus(rec);
|
||||
return tooltip;
|
||||
}
|
||||
|
||||
QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if(!index.isValid())
|
||||
|
@ -487,7 +499,7 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
|
|||
switch(index.column())
|
||||
{
|
||||
case Status:
|
||||
return formatTxDecoration(rec);
|
||||
return txStatusDecoration(rec);
|
||||
case ToAddress:
|
||||
return txAddressDecoration(rec);
|
||||
}
|
||||
|
@ -530,8 +542,8 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
|
|||
{
|
||||
case Status:
|
||||
return formatTxStatus(rec);
|
||||
case ToAddress:
|
||||
return formatTxType(rec) + QString(" ") + formatTxToAddress(rec, true);
|
||||
default:
|
||||
return formatTooltip(rec);
|
||||
}
|
||||
}
|
||||
else if (role == Qt::TextAlignmentRole)
|
||||
|
@ -574,10 +586,6 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const
|
|||
{
|
||||
return walletModel->getAddressTableModel()->labelForAddress(QString::fromStdString(rec->address));
|
||||
}
|
||||
else if (role == AbsoluteAmountRole)
|
||||
{
|
||||
return llabs(rec->credit + rec->debit);
|
||||
}
|
||||
else if (role == AmountRole)
|
||||
{
|
||||
return rec->credit + rec->debit;
|
||||
|
|
|
@ -37,8 +37,6 @@ public:
|
|||
AddressRole,
|
||||
// Label of address related to transaction
|
||||
LabelRole,
|
||||
// Absolute net amount of transaction, for filtering
|
||||
AbsoluteAmountRole,
|
||||
// Net amount of transaction
|
||||
AmountRole,
|
||||
// Unique identifier
|
||||
|
@ -63,12 +61,13 @@ private:
|
|||
|
||||
QString lookupAddress(const std::string &address, bool tooltip) const;
|
||||
QVariant addressColor(const TransactionRecord *wtx) const;
|
||||
QVariant formatTxStatus(const TransactionRecord *wtx) const;
|
||||
QVariant formatTxDate(const TransactionRecord *wtx) const;
|
||||
QString formatTxStatus(const TransactionRecord *wtx) const;
|
||||
QString formatTxDate(const TransactionRecord *wtx) const;
|
||||
QString formatTxType(const TransactionRecord *wtx) const;
|
||||
QString formatTxToAddress(const TransactionRecord *wtx, bool tooltip) const;
|
||||
QVariant formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true) const;
|
||||
QVariant formatTxDecoration(const TransactionRecord *wtx) const;
|
||||
QString formatTxAmount(const TransactionRecord *wtx, bool showUnconfirmed=true) const;
|
||||
QString formatTooltip(const TransactionRecord *rec) const;
|
||||
QVariant txStatusDecoration(const TransactionRecord *wtx) const;
|
||||
QVariant txAddressDecoration(const TransactionRecord *wtx) const;
|
||||
|
||||
private slots:
|
||||
|
|
Loading…
Reference in a new issue