123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // ECOin - Copyright (c) - 2014/2021 - GPLv3 - epsylon@riseup.net (https://03c8.net)
- #ifndef TRANSACTIONTABLEMODEL_H
- #define TRANSACTIONTABLEMODEL_H
- #include <QAbstractTableModel>
- #include <QStringList>
- class CWallet;
- class TransactionTablePriv;
- class TransactionRecord;
- class WalletModel;
- class TransactionTableModel : public QAbstractTableModel
- {
- Q_OBJECT
- public:
- explicit TransactionTableModel(CWallet* wallet, WalletModel *parent = 0);
- ~TransactionTableModel();
- enum ColumnIndex {
- Status = 0,
- Date = 1,
- Type = 2,
- ToAddress = 3,
- Amount = 4
- };
- enum RoleIndex {
- /** Type of transaction */
- TypeRole = Qt::UserRole,
- /** Date and time this transaction was created */
- DateRole,
- /** Long description (HTML format) */
- LongDescriptionRole,
- /** Address of transaction */
- AddressRole,
- /** Label of address related to transaction */
- LabelRole,
- /** Net amount of transaction */
- AmountRole,
- /** Unique identifier */
- TxIDRole,
- /** Is transaction confirmed? */
- ConfirmedRole,
- /** Formatted amount, without brackets when unconfirmed */
- FormattedAmountRole
- };
- 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;
- private:
- CWallet* wallet;
- WalletModel *walletModel;
- QStringList columns;
- TransactionTablePriv *priv;
- int cachedNumBlocks;
- 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) const;
- QString formatTooltip(const TransactionRecord *rec) const;
- QVariant txStatusDecoration(const TransactionRecord *wtx) const;
- QVariant txAddressDecoration(const TransactionRecord *wtx) const;
- public slots:
- void updateTransaction(const QString &hash, int status);
- void updateConfirmations();
- void updateDisplayUnit();
- friend class TransactionTablePriv;
- };
- #endif
|