improve tooltip over transactions

This commit is contained in:
Wladimir J. van der Laan 2011-08-05 15:35:52 +02:00
parent ffccb56914
commit 126185aaa7
3 changed files with 30 additions and 23 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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: