Files
wowlet/src/model/TransactionHistoryModel.h
T
dsc 289f9ab1d2 The balance fiat display does not 'round to ceiling' anymore, instead introduced some more decimals:
![https://i.imgur.com/aZAonV4.png](https://i.imgur.com/aZAonV4.png)

New fiat columns in the history table:

- Historical price (`balance * historical fiat price`)
- Historical rate (the historical fiat price at that date)
- Current price (`balance * current fiat price`)

![https://i.imgur.com/QkWCLRf.png](https://i.imgur.com/QkWCLRf.png)

When preferred fiat is changed (in the settings), the balance fiat display now follows accordingly.

Requires https://git.wownero.com/wowlet/wowlet-backend/pulls/19
2022-04-25 21:56:14 +02:00

74 lines
2.1 KiB
C++

// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2014-2021, The Monero Project.
#ifndef TRANSACTIONHISTORYMODEL_H
#define TRANSACTIONHISTORYMODEL_H
#include <QAbstractListModel>
#include <QIcon>
#include "appcontext.h"
class TransactionHistory;
class TransactionInfo;
/**
* @brief The TransactionHistoryModel class - read-only table model for Transaction History
*/
class TransactionHistoryModel : public QAbstractTableModel
{
Q_OBJECT
Q_PROPERTY(TransactionHistory * transactionHistory READ transactionHistory WRITE setTransactionHistory NOTIFY transactionHistoryChanged)
public:
enum TransactionInfoRole
{
Date = 0,
Description,
Amount,
TxID,
HistoricalPrice,
HistoricalRate,
CurrentPrice,
TransactionIsOutRole,
TransactionFailedRole,
TransactionPendingRole,
TransactionConfirmationsRole,
TransactionConfirmationsRequiredRole,
COUNT
};
Q_ENUM(TransactionInfoRole)
explicit TransactionHistoryModel(QObject * parent = nullptr);
void setTransactionHistory(TransactionHistory * th);
TransactionHistory * transactionHistory() const;
QString preferredFiatSymbol = "USD";
int rowCount(const QModelIndex & parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role) override;
int customColumnCount = 5;
signals:
void transactionHistoryChanged();
private:
QVariant parseTransactionInfo(const TransactionInfo &tInfo, int column) const;
TransactionHistory * m_transactionHistory;
QIcon m_unconfirmedTx;
QIcon m_warning;
QIcon m_clock1;
QIcon m_clock2;
QIcon m_clock3;
QIcon m_clock4;
QIcon m_clock5;
QIcon m_confirmedTx;
};
#endif // TRANSACTIONHISTORYMODEL_H