aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoinunits.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/bitcoinunits.h')
-rw-r--r--src/qt/bitcoinunits.h47
1 files changed, 28 insertions, 19 deletions
diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h
index a7bebbc3e4..18fa36a0b7 100644
--- a/src/qt/bitcoinunits.h
+++ b/src/qt/bitcoinunits.h
@@ -4,51 +4,60 @@
#include <QString>
#include <QAbstractListModel>
-// Bitcoin unit definitions, encapsulates parsing and formatting
-// and serves as list model for dropdown selection boxes.
+/** Bitcoin unit definitions. Encapsulates parsing and formatting
+ and serves as list model for dropdown selection boxes.
+*/
class BitcoinUnits: public QAbstractListModel
{
public:
explicit BitcoinUnits(QObject *parent);
+ /** Bitcoin units.
+ @note Source: https://en.bitcoin.it/wiki/Units . Please add only sensible ones
+ */
enum Unit
{
- // Source: https://en.bitcoin.it/wiki/Units
- // Please add only sensible ones
BTC,
mBTC,
uBTC
};
- /// Static API
- // Get list of units, for dropdown box
+ //! @name Static API
+ //! Unit conversion and formatting
+ ///@{
+
+ //! Get list of units, for dropdown box
static QList<Unit> availableUnits();
- // Is unit ID valid?
+ //! Is unit ID valid?
static bool valid(int unit);
- // Short name
+ //! Short name
static QString name(int unit);
- // Longer description
+ //! Longer description
static QString description(int unit);
- // Number of satoshis / unit
+ //! Number of Satoshis (1e-8) per unit
static qint64 factor(int unit);
- // Number of amount digits (to represent max number of coins)
+ //! Number of amount digits (to represent max number of coins)
static int amountDigits(int unit);
- // Number of decimals left
+ //! Number of decimals left
static int decimals(int unit);
- // Format as string
+ //! Format as string
static QString format(int unit, qint64 amount, bool plussign=false);
- // Format as string (with unit)
+ //! Format as string (with unit)
static QString formatWithUnit(int unit, qint64 amount, bool plussign=false);
- // Parse string to coin amount
+ //! Parse string to coin amount
static bool parse(int unit, const QString &value, qint64 *val_out);
+ ///@}
- /// AbstractListModel implementation
- enum {
- // Unit identifier
+ //! @name AbstractListModel implementation
+ //! List model for unit dropdown selection box.
+ ///@{
+ enum RoleIndex {
+ /** Unit identifier */
UnitRole = Qt::UserRole
- } RoleIndex;
+ };
int rowCount(const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;
+ ///@}
private:
QList<BitcoinUnits::Unit> unitlist;
};