diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index e9a865de0..f12976a90 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -15,9 +15,10 @@ BitcoinUnits::BitcoinUnits(QObject *parent): QList BitcoinUnits::availableUnits() { QList unitlist; + unitlist.append(MDOGE); + unitlist.append(kDOGE); unitlist.append(DOGE); - unitlist.append(mDOGE); - unitlist.append(uDOGE); + unitlist.append(Koinu); return unitlist; } @@ -25,9 +26,10 @@ bool BitcoinUnits::valid(int unit) { switch(unit) { + case MDOGE: + case kDOGE: case DOGE: - case mDOGE: - case uDOGE: + case Koinu: return true; default: return false; @@ -38,9 +40,10 @@ QString BitcoinUnits::name(int unit) { switch(unit) { + case MDOGE: return QString("MDOGE"); + case kDOGE: return QString("kDOGE"); case DOGE: return QString("DOGE"); - case mDOGE: return QString("mDOGE"); - case uDOGE: return QString::fromUtf8("μDOGE"); + case Koinu: return QString("Koinu"); default: return QString("???"); } } @@ -49,9 +52,10 @@ QString BitcoinUnits::description(int unit) { switch(unit) { + case MDOGE: return QString("Mega-Dogecoin (1,000,000 DOGE)"); + case kDOGE: return QString("Kilo-Dogecoin (1000 DOGE)"); case DOGE: return QString("Dogecoin"); - case mDOGE: return QString("Milli-Dogecoin (1 / 1,000)"); - case uDOGE: return QString("Micro-Dogecoin (1 / 1,000,000)"); + case Koinu: return QString("Koinu (1 / 100,000,000"); default: return QString("???"); } } @@ -60,10 +64,11 @@ qint64 BitcoinUnits::factor(int unit) { switch(unit) { - case DOGE: return 100000000; - case mDOGE: return 100000; - case uDOGE: return 100; - default: return 100000000; + case MDOGE: return Q_INT64_C(100000000000000); + case kDOGE: return Q_INT64_C(100000000000); + case DOGE: return Q_INT64_C(100000000); + case Koinu: return Q_INT64_C(1); + default: return Q_INT64_C(100000000); } } @@ -71,9 +76,10 @@ qint64 BitcoinUnits::maxAmount(int unit) { switch(unit) { + case MDOGE: return Q_INT64_C(900000); + case kDOGE: return Q_INT64_C(900000000); case DOGE: return Q_INT64_C(900000000000); //less than the coin supply until the year 2170 - case mDOGE: return Q_INT64_C(900000000000000); - case uDOGE: return Q_INT64_C(900000000000000000); + case Koinu: return Q_INT64_C(90000000000000000000); default: return 0; } } @@ -82,9 +88,10 @@ int BitcoinUnits::amountDigits(int unit) { switch(unit) { - case DOGE: return 12; // 900,000,000,000 (# digits, without commas) - case mDOGE: return 15; // 900,000,000,000,000 - case uDOGE: return 18; // 900,000,000,000,000,000 + case MDOGE: return 6; // 900,000 (# digits, without commas) + case kDOGE: return 9; // 900,000,000 + case DOGE: return 12; // 900,000,000,000 + case Koinu: return 20; // 90,000,000,000,000,000,000 default: return 0; } } @@ -93,9 +100,10 @@ int BitcoinUnits::decimals(int unit) { switch(unit) { + case MDOGE: return 14; + case kDOGE: return 11; case DOGE: return 8; - case mDOGE: return 5; - case uDOGE: return 2; + case Koinu: return 0; default: return 0; } } diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index 393b8209e..9f51b59b1 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -21,11 +21,14 @@ public: /** Bitcoin units. @note Source: https://en.bitcoin.it/wiki/Units . Please add only sensible ones */ - enum Unit + enum Unit //Note: preserve positions in order to preserve existing settings { DOGE, - mDOGE, - uDOGE + //formerly mDOGE + //formerly uDOGE + MDOGE = 3, + kDOGE = 4, + Koinu = 5 }; //! @name Static API diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index a1972ad51..f3b63dbdf 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -53,6 +53,8 @@ void OptionsModel::Init() if (!settings.contains("nDisplayUnit")) settings.setValue("nDisplayUnit", BitcoinUnits::DOGE); nDisplayUnit = settings.value("nDisplayUnit").toInt(); + if(!BitcoinUnits::valid(nDisplayUnit)) + nDisplayUnit = BitcoinUnits::DOGE; if (!settings.contains("bDisplayAddresses")) settings.setValue("bDisplayAddresses", false);