12 QAbstractListModel(parent),
13 unitlist(availableUnits())
47 case MBTC:
return QString(
"MDOGE");
48 case kBTC:
return QString(
"kDOGE");
49 case BTC:
return QString(
"DOGE");
50 case mBTC:
return QString(
"mDOGE");
51 case uBTC:
return QString::fromUtf8(
"μDOGE");
52 default:
return QString(
"???");
62 case BTC:
return QString(
"Dogecoins");
65 default:
return QString(
"???");
73 case MBTC:
return 100000000000000;
74 case kBTC:
return 100000000000;
75 case BTC:
return 100000000;
76 case mBTC:
return 100000;
77 case uBTC:
return 100;
78 default:
return 100000000;
101 qint64 n = (qint64)nIn;
102 qint64 coin =
factor(unit);
104 qint64 n_abs = (n > 0 ? n : -n);
105 qint64 quotient = n_abs / coin;
106 qint64 remainder = n_abs % coin;
107 QString quotient_str = QString::number(quotient);
108 QString remainder_str = QString::number(remainder).rightJustified(num_decimals,
'0');
113 int q_size = quotient_str.size();
115 for (
int i = 3; i < q_size; i += 3)
116 quotient_str.insert(q_size - i, thin_sp);
119 quotient_str.insert(0,
'-');
120 else if (fPlus && n > 0)
121 quotient_str.insert(0,
'+');
122 return quotient_str + QString(
".") + remainder_str;
136 return format(unit, amount, plussign, separators) + QString(
" ") +
name(unit);
143 return QString(
"<span style='white-space: nowrap;'>%1</span>").arg(str);
149 if(!
valid(unit) || value.isEmpty())
160 QString whole = parts[0];
172 QString str = whole +
decimals.leftJustified(num_decimals,
'0');
178 CAmount retvalue(str.toLongLong(&ok));
188 QString amountTitle = QObject::tr(
"Amount");
204 int row = index.row();
205 if(row >= 0 && row <
unitlist.size())
211 case Qt::DisplayRole:
212 return QVariant(
name(unit));
213 case Qt::ToolTipRole:
216 return QVariant(
static_cast<int>(unit));
int64_t CAmount
Amount in satoshis (Can be negative)
@ UnitRole
Unit identifier.
QList< BitcoinUnits::Unit > unitlist
static bool parse(int unit, const QString &value, CAmount *val_out)
Parse string to coin amount.
static CAmount maxMoney()
Return maximum number of base units (Satoshis)
static int decimals(int unit)
Number of decimals left.
static QString name(int unit)
Short name.
QVariant data(const QModelIndex &index, int role) const
static QString formatHtmlWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as HTML string (with unit)
static bool valid(int unit)
Is unit ID valid?
static QString description(int unit)
Longer description.
static QString removeSpaces(QString text)
int rowCount(const QModelIndex &parent) const
static QString format(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string.
static QList< Unit > availableUnits()
Get list of units, for drop-down box.
static QString getAmountColumnTitle(int unit)
Gets title for amount column including current display unit if optionsModel reference available */.
BitcoinUnits(QObject *parent)
static qint64 factor(int unit)
Number of Satoshis (1e-8) per unit.
static QString formatWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string (with unit)