16 QAbstractListModel(parent),
17 unitlist(availableUnits())
36 case Unit::uBTC:
return QString::fromUtf8(
"µBTC (bits)");
105 for (
int i = 3; i <
q_size; i += 3)
110 else if (
fPlus && n > 0)
140 return QString(
"<span style='white-space: nowrap;'>%1</span>").arg(str);
157 if (value.isEmpty()) {
197 return QObject::tr(
"Amount") +
" (" +
shortName(unit) +
")";
208 int row = index.row();
215 case Qt::DisplayRole:
217 case Qt::ToolTipRole:
220 return QVariant::fromValue(unit);
235 case BitcoinUnit::BTC:
return 0;
236 case BitcoinUnit::mBTC:
return 1;
237 case BitcoinUnit::uBTC:
return 2;
238 case BitcoinUnit::SAT:
return 3;
246 case 0:
return BitcoinUnit::BTC;
247 case 1:
return BitcoinUnit::mBTC;
248 case 2:
return BitcoinUnit::uBTC;
249 case 3:
return BitcoinUnit::SAT;
static constexpr CAmount MAX_MONEY
No amount larger than this (in satoshi) is valid.
int64_t CAmount
Amount in satoshis (Can be negative)
QDataStream & operator<<(QDataStream &out, const BitcoinUnit &unit)
static constexpr auto MAX_DIGITS_BTC
QDataStream & operator>>(QDataStream &in, BitcoinUnit &unit)
@ UnitRole
Unit identifier.
int rowCount(const QModelIndex &parent) const override
static QString formatWithPrivacy(Unit unit, const CAmount &amount, SeparatorStyle separators, bool privacy)
Format as string (with unit) of fixed length to preserve privacy, if it is set.
static CAmount maxMoney()
Return maximum number of base units (Satoshis)
static QString format(Unit unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=SeparatorStyle::STANDARD, bool justify=false)
Format as string.
QVariant data(const QModelIndex &index, int role) const override
static QString formatHtmlWithUnit(Unit unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=SeparatorStyle::STANDARD)
Format as HTML string (with unit)
static QString removeSpaces(QString text)
static QString getAmountColumnTitle(Unit unit)
Gets title for amount column including current display unit if optionsModel reference available */.
static QString shortName(Unit unit)
Short name.
static QList< Unit > availableUnits()
Get list of units, for drop-down box.
static QString longName(Unit unit)
Long name.
static QString formatWithUnit(Unit unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=SeparatorStyle::STANDARD)
Format as string (with unit)
static qint64 factor(Unit unit)
Number of Satoshis (1e-8) per unit.
static bool parse(Unit unit, const QString &value, CAmount *val_out)
Parse string to coin amount.
static QString description(Unit unit)
Longer description.
BitcoinUnits(QObject *parent)
static int decimals(Unit unit)
Number of decimals left.
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.