Bitcoin
Public Types | Public Slots | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TransactionTableModel Class Reference

#include <transactiontablemodel.h>

Inheritance diagram for TransactionTableModel:

Public Types

enum  ColumnIndex {
  Status = 0, Watchonly = 1, Date = 2, Type = 3,
  ToAddress = 4, Amount = 5
}
 
enum  RoleIndex {
  TypeRole = Qt::UserRole, DateRole, WatchonlyRole, WatchonlyDecorationRole,
  LongDescriptionRole, AddressRole, LabelRole, AmountRole,
  TxHashRole, TxHexRole, TxPlainTextRole, ConfirmedRole,
  FormattedAmountRole, StatusRole, RawDecorationRole
}
 

Public Slots

void updateTransaction (const QString &hash, int status, bool showTransaction)
 
void updateConfirmations ()
 
void updateDisplayUnit ()
 
void updateAmountColumnTitle ()
 
void setProcessingQueuedTransactions (bool value)
 

Public Member Functions

 TransactionTableModel (const PlatformStyle *platformStyle, WalletModel *parent=nullptr)
 
 ~TransactionTableModel ()
 
int rowCount (const QModelIndex &parent) const
 
int columnCount (const QModelIndex &parent) const
 
QVariant data (const QModelIndex &index, int role) const
 
QVariant headerData (int section, Qt::Orientation orientation, int role) const
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
 
bool processingQueuedTransactions () const
 

Private Member Functions

void subscribeToCoreSignals ()
 
void unsubscribeFromCoreSignals ()
 
QString lookupAddress (const std::string &address, bool tooltip) const
 
QVariant addressColor (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
 
QString formatTxAmount (const TransactionRecord *wtx, bool showUnconfirmed=true, BitcoinUnits::SeparatorStyle separators=BitcoinUnits::separatorStandard) const
 
QString formatTooltip (const TransactionRecord *rec) const
 
QVariant txStatusDecoration (const TransactionRecord *wtx) const
 
QVariant txWatchonlyDecoration (const TransactionRecord *wtx) const
 
QVariant txAddressDecoration (const TransactionRecord *wtx) const
 

Private Attributes

WalletModelwalletModel
 
std::unique_ptr< interfaces::Handlerm_handler_transaction_changed
 
std::unique_ptr< interfaces::Handlerm_handler_show_progress
 
QStringList columns
 
TransactionTablePrivpriv
 
bool fProcessingQueuedTransactions
 
const PlatformStyleplatformStyle
 

Friends

class TransactionTablePriv
 

Detailed Description

UI model for the transaction table of a wallet.

Member Enumeration Documentation

◆ ColumnIndex

Enumerator
Status 
Watchonly 
Date 
Type 
ToAddress 
Amount 

◆ RoleIndex

Roles to get specific information from a transaction row. These are independent of column.

Enumerator
TypeRole 

Type of transaction

DateRole 

Date and time this transaction was created

WatchonlyRole 

Watch-only boolean

WatchonlyDecorationRole 

Watch-only icon

LongDescriptionRole 

Long description (HTML format)

AddressRole 

Address of transaction

LabelRole 

Label of address related to transaction

AmountRole 

Net amount of transaction

TxHashRole 

Transaction hash

TxHexRole 

Transaction data, hex-encoded

TxPlainTextRole 

Whole transaction as plain text

ConfirmedRole 

Is transaction confirmed?

FormattedAmountRole 

Formatted amount, without brackets when unconfirmed

StatusRole 

Transaction status (TransactionRecord::Status)

RawDecorationRole 

Unprocessed icon

Constructor & Destructor Documentation

◆ TransactionTableModel()

TransactionTableModel::TransactionTableModel ( const PlatformStyle platformStyle,
WalletModel parent = nullptr 
)
explicit

◆ ~TransactionTableModel()

TransactionTableModel::~TransactionTableModel ( )

Member Function Documentation

◆ addressColor()

QVariant TransactionTableModel::addressColor ( const TransactionRecord wtx) const
private

◆ columnCount()

int TransactionTableModel::columnCount ( const QModelIndex &  parent) const

◆ data()

QVariant TransactionTableModel::data ( const QModelIndex &  index,
int  role 
) const

◆ formatTooltip()

QString TransactionTableModel::formatTooltip ( const TransactionRecord rec) const
private

◆ formatTxAmount()

QString TransactionTableModel::formatTxAmount ( const TransactionRecord wtx,
bool  showUnconfirmed = true,
BitcoinUnits::SeparatorStyle  separators = BitcoinUnits::separatorStandard 
) const
private

◆ formatTxDate()

QString TransactionTableModel::formatTxDate ( const TransactionRecord wtx) const
private

◆ formatTxStatus()

QString TransactionTableModel::formatTxStatus ( const TransactionRecord wtx) const
private

◆ formatTxToAddress()

QString TransactionTableModel::formatTxToAddress ( const TransactionRecord wtx,
bool  tooltip 
) const
private

◆ formatTxType()

QString TransactionTableModel::formatTxType ( const TransactionRecord wtx) const
private

◆ headerData()

QVariant TransactionTableModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role 
) const

◆ index()

QModelIndex TransactionTableModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const

◆ lookupAddress()

QString TransactionTableModel::lookupAddress ( const std::string &  address,
bool  tooltip 
) const
private

◆ processingQueuedTransactions()

bool TransactionTableModel::processingQueuedTransactions ( ) const
inline

◆ rowCount()

int TransactionTableModel::rowCount ( const QModelIndex &  parent) const

◆ setProcessingQueuedTransactions

void TransactionTableModel::setProcessingQueuedTransactions ( bool  value)
inlineslot

◆ subscribeToCoreSignals()

void TransactionTableModel::subscribeToCoreSignals ( )
private

◆ txAddressDecoration()

QVariant TransactionTableModel::txAddressDecoration ( const TransactionRecord wtx) const
private

◆ txStatusDecoration()

QVariant TransactionTableModel::txStatusDecoration ( const TransactionRecord wtx) const
private

◆ txWatchonlyDecoration()

QVariant TransactionTableModel::txWatchonlyDecoration ( const TransactionRecord wtx) const
private

◆ unsubscribeFromCoreSignals()

void TransactionTableModel::unsubscribeFromCoreSignals ( )
private

◆ updateAmountColumnTitle

void TransactionTableModel::updateAmountColumnTitle ( )
slot

Updates the column title to "Amount (DisplayUnit)" and emits headerDataChanged() signal for table headers to react.

◆ updateConfirmations

void TransactionTableModel::updateConfirmations ( )
slot

◆ updateDisplayUnit

void TransactionTableModel::updateDisplayUnit ( )
slot

◆ updateTransaction

void TransactionTableModel::updateTransaction ( const QString &  hash,
int  status,
bool  showTransaction 
)
slot

Friends And Related Function Documentation

◆ TransactionTablePriv

friend class TransactionTablePriv
friend

Member Data Documentation

◆ columns

QStringList TransactionTableModel::columns
private

◆ fProcessingQueuedTransactions

bool TransactionTableModel::fProcessingQueuedTransactions
private

◆ m_handler_show_progress

std::unique_ptr<interfaces::Handler> TransactionTableModel::m_handler_show_progress
private

◆ m_handler_transaction_changed

std::unique_ptr<interfaces::Handler> TransactionTableModel::m_handler_transaction_changed
private

◆ platformStyle

const PlatformStyle* TransactionTableModel::platformStyle
private

◆ priv

TransactionTablePriv* TransactionTableModel::priv
private

◆ walletModel

WalletModel* TransactionTableModel::walletModel
private

The documentation for this class was generated from the following files: