11 #include <QStringList> 14 QAbstractListModel(parent),
15 unitlist(availableUnits())
49 case DASH:
return QString(
"DASH");
50 case mDASH:
return QString(
"mDASH");
51 case uDASH:
return QString::fromUtf8(
"μDASH");
52 case duffs:
return QString(
"duffs");
53 default:
return QString(
"???");
60 case DASH:
return QString(
"tDASH");
61 case mDASH:
return QString(
"mtDASH");
62 case uDASH:
return QString::fromUtf8(
"μtDASH");
63 case duffs:
return QString(
"tduffs");
64 default:
return QString(
"???");
75 case DASH:
return QString(
"Dash");
79 default:
return QString(
"???");
86 case DASH:
return QString(
"TestDashs");
90 default:
return QString(
"???");
99 case DASH:
return 100000000;
100 case mDASH:
return 100000;
101 case uDASH:
return 100;
102 case duffs:
return 1;
103 default:
return 100000000;
112 case mDASH:
return 5;
113 case uDASH:
return 2;
114 case duffs:
return 0;
125 qint64
n = (qint64)nIn;
126 qint64 coin =
factor(unit);
128 qint64 n_abs = (
n > 0 ?
n : -
n);
129 qint64 quotient = n_abs / coin;
130 qint64 remainder = n_abs % coin;
131 QString quotient_str = QString::number(quotient);
132 QString remainder_str = QString::number(remainder).rightJustified(num_decimals,
'0');
137 int q_size = quotient_str.size();
139 for (
int i = 3; i < q_size; i += 3)
140 quotient_str.insert(q_size - i, thin_sp);
143 quotient_str.insert(0,
'-');
144 else if (fPlus &&
n > 0)
145 quotient_str.insert(0,
'+');
147 if (num_decimals <= 0)
150 return quotient_str + QString(
".") + remainder_str;
164 return format(unit, amount, plussign, separators) + QString(
" ") +
name(unit);
171 return QString(
"<span style='white-space: nowrap;'>%1</span>").arg(str);
177 int digits =
settings.value(
"digits").toInt();
179 QString
result =
format(unit, amount, plussign, separators);
187 QString str(
floorWithUnit(unit, amount, plussign, separators));
189 return QString(
"<span style='white-space: nowrap;'>%1</span>").arg(str);
194 if(!
valid(unit) || value.isEmpty())
205 QString whole = parts[0];
217 QString str = whole +
decimals.leftJustified(num_decimals,
'0');
223 CAmount retvalue(str.toLongLong(&ok));
233 QString amountTitle = QObject::tr(
"Amount");
249 int row = index.row();
250 if(row >= 0 && row <
unitlist.size())
256 case Qt::DisplayRole:
257 return QVariant(
name(unit));
258 case Qt::ToolTipRole:
261 return QVariant(static_cast<int>(unit));
static QString floorWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string (with unit) but floor value up to "digits" settings.
static const CAmount MAX_MONEY
static QString getAmountColumnTitle(int unit)
Gets title for amount column including current display unit if optionsModel reference available */...
static bool parse(int unit, const QString &value, CAmount *val_out)
Parse string to coin amount.
static bool valid(int unit)
Is unit ID valid?
static QString formatWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string (with unit)
static CAmount maxMoney()
Return maximum number of base units (Satoshis)
static QString floorHtmlWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
static QString formatHtmlWithUnit(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as HTML string (with unit)
int rowCount(const QModelIndex &parent) const
static qint64 factor(int unit)
Number of Satoshis (1e-8) per unit.
static QString format(int unit, const CAmount &amount, bool plussign=false, SeparatorStyle separators=separatorStandard)
Format as string.
QVariant data(const QModelIndex &index, int role) const
static int decimals(int unit)
Number of decimals left.
const CChainParams & Params()
QList< BitcoinUnits::Unit > unitlist
BitcoinUnits(QObject *parent)
static QString name(int unit)
Short name.
static QString removeSpaces(QString text)
static const std::string MAIN
static QList< Unit > availableUnits()
Get list of units, for drop-down box.
static QString description(int unit)
Longer description.