11 QAbstractListModel(parent),
12 unitlist(availableUnits())
20 unitlist.append(
mANC);
21 unitlist.append(
uANC);
42 case ANC:
return QString(
"ANC");
43 case mANC:
return QString(
"mANC");
44 case uANC:
return QString::fromUtf8(
"μANC");
45 default:
return QString(
"???");
53 case ANC:
return QString(
"Anoncoins");
54 case mANC:
return QString(
"Milli-Anoncoins (1 / 1,000)");
55 case uANC:
return QString(
"Micro-Anoncoins (1 / 1,000,000)");
56 default:
return QString(
"???");
64 case ANC:
return 100000000;
65 case mANC:
return 100000;
66 case uANC:
return 100;
67 default:
return 100000000;
75 case ANC:
return Q_INT64_C(21000000);
76 case mANC:
return Q_INT64_C(21000000000);
77 case uANC:
return Q_INT64_C(21000000000000);
110 qint64 coin =
factor(unit);
112 qint64 n_abs = (n > 0 ? n : -n);
113 qint64 quotient = n_abs / coin;
114 qint64 remainder = n_abs % coin;
115 QString quotient_str = QString::number(quotient);
116 QString remainder_str = QString::number(remainder).rightJustified(num_decimals,
'0');
120 for (
int i = remainder_str.size()-1; i>=2 && (remainder_str.at(i) ==
'0'); --i)
122 remainder_str.chop(nTrim);
125 quotient_str.insert(0,
'-');
126 else if (fPlus && n > 0)
127 quotient_str.insert(0,
'+');
128 return quotient_str + QString(
".") + remainder_str;
133 return format(unit, amount, plussign) + QString(
" ") +
name(unit);
138 if(!
valid(unit) || value.isEmpty())
141 QStringList parts = value.split(
".");
147 QString whole = parts[0];
154 if(decimals.size() > num_decimals)
159 QString str = whole + decimals.leftJustified(num_decimals,
'0');
165 qint64 retvalue = str.toLongLong(&ok);
175 QString amountTitle = QObject::tr(
"Amount");
191 int row = index.row();
192 if(row >= 0 && row <
unitlist.size())
198 case Qt::DisplayRole:
199 return QVariant(
name(unit));
200 case Qt::ToolTipRole:
203 return QVariant(static_cast<int>(unit));
static QList< Unit > availableUnits()
Get list of units, for drop-down box.
static QString formatWithUnit(int unit, qint64 amount, bool plussign=false)
Format as string (with unit)
static QString name(int unit)
Short name.
AnoncoinUnits(QObject *parent)
static bool parse(int unit, const QString &value, qint64 *val_out)
Parse string to coin amount.
QVariant data(const QModelIndex &index, int role) const
static qint64 maxAmount(int unit)
Max amount per unit.
static QString getAmountColumnTitle(int unit)
Gets title for amount column including current display unit if optionsModel reference available */...
static qint64 factor(int unit)
Number of Satoshis (1e-8) per unit.
int rowCount(const QModelIndex &parent) const
static QString format(int unit, qint64 amount, bool plussign=false)
Format as string.
static QString description(int unit)
Longer description.
static int amountDigits(int unit)
Number of amount digits (to represent max number of coins)
static bool valid(int unit)
Is unit ID valid?
QList< AnoncoinUnits::Unit > unitlist
static int decimals(int unit)
Number of decimals left.