Merge pull request #366 from leofidus/1.7-kdoge

1.7 Display Unit changes
This commit is contained in:
langerhans 2014-03-25 22:14:23 +01:00
commit f82ad5bf43
3 changed files with 35 additions and 22 deletions

View file

@ -15,9 +15,10 @@ BitcoinUnits::BitcoinUnits(QObject *parent):
QList<BitcoinUnits::Unit> BitcoinUnits::availableUnits() QList<BitcoinUnits::Unit> BitcoinUnits::availableUnits()
{ {
QList<BitcoinUnits::Unit> unitlist; QList<BitcoinUnits::Unit> unitlist;
unitlist.append(MDOGE);
unitlist.append(kDOGE);
unitlist.append(DOGE); unitlist.append(DOGE);
unitlist.append(mDOGE); unitlist.append(Koinu);
unitlist.append(uDOGE);
return unitlist; return unitlist;
} }
@ -25,9 +26,10 @@ bool BitcoinUnits::valid(int unit)
{ {
switch(unit) switch(unit)
{ {
case MDOGE:
case kDOGE:
case DOGE: case DOGE:
case mDOGE: case Koinu:
case uDOGE:
return true; return true;
default: default:
return false; return false;
@ -38,9 +40,10 @@ QString BitcoinUnits::name(int unit)
{ {
switch(unit) switch(unit)
{ {
case MDOGE: return QString("MDOGE");
case kDOGE: return QString("kDOGE");
case DOGE: return QString("DOGE"); case DOGE: return QString("DOGE");
case mDOGE: return QString("mDOGE"); case Koinu: return QString("Koinu");
case uDOGE: return QString::fromUtf8("μDOGE");
default: return QString("???"); default: return QString("???");
} }
} }
@ -49,9 +52,10 @@ QString BitcoinUnits::description(int unit)
{ {
switch(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 DOGE: return QString("Dogecoin");
case mDOGE: return QString("Milli-Dogecoin (1 / 1,000)"); case Koinu: return QString("Koinu (1 / 100,000,000");
case uDOGE: return QString("Micro-Dogecoin (1 / 1,000,000)");
default: return QString("???"); default: return QString("???");
} }
} }
@ -60,10 +64,11 @@ qint64 BitcoinUnits::factor(int unit)
{ {
switch(unit) switch(unit)
{ {
case DOGE: return 100000000; case MDOGE: return Q_INT64_C(100000000000000);
case mDOGE: return 100000; case kDOGE: return Q_INT64_C(100000000000);
case uDOGE: return 100; case DOGE: return Q_INT64_C(100000000);
default: return 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) 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 DOGE: return Q_INT64_C(900000000000); //less than the coin supply until the year 2170
case mDOGE: return Q_INT64_C(900000000000000); case Koinu: return Q_INT64_C(90000000000000000000);
case uDOGE: return Q_INT64_C(900000000000000000);
default: return 0; default: return 0;
} }
} }
@ -82,9 +88,10 @@ int BitcoinUnits::amountDigits(int unit)
{ {
switch(unit) switch(unit)
{ {
case DOGE: return 12; // 900,000,000,000 (# digits, without commas) case MDOGE: return 6; // 900,000 (# digits, without commas)
case mDOGE: return 15; // 900,000,000,000,000 case kDOGE: return 9; // 900,000,000
case uDOGE: return 18; // 900,000,000,000,000,000 case DOGE: return 12; // 900,000,000,000
case Koinu: return 20; // 90,000,000,000,000,000,000
default: return 0; default: return 0;
} }
} }
@ -93,9 +100,10 @@ int BitcoinUnits::decimals(int unit)
{ {
switch(unit) switch(unit)
{ {
case MDOGE: return 14;
case kDOGE: return 11;
case DOGE: return 8; case DOGE: return 8;
case mDOGE: return 5; case Koinu: return 0;
case uDOGE: return 2;
default: return 0; default: return 0;
} }
} }

View file

@ -21,11 +21,14 @@ public:
/** Bitcoin units. /** Bitcoin units.
@note Source: https://en.bitcoin.it/wiki/Units . Please add only sensible ones @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, DOGE,
mDOGE, //formerly mDOGE
uDOGE //formerly uDOGE
MDOGE = 3,
kDOGE = 4,
Koinu = 5
}; };
//! @name Static API //! @name Static API

View file

@ -53,6 +53,8 @@ void OptionsModel::Init()
if (!settings.contains("nDisplayUnit")) if (!settings.contains("nDisplayUnit"))
settings.setValue("nDisplayUnit", BitcoinUnits::DOGE); settings.setValue("nDisplayUnit", BitcoinUnits::DOGE);
nDisplayUnit = settings.value("nDisplayUnit").toInt(); nDisplayUnit = settings.value("nDisplayUnit").toInt();
if(!BitcoinUnits::valid(nDisplayUnit))
nDisplayUnit = BitcoinUnits::DOGE;
if (!settings.contains("bDisplayAddresses")) if (!settings.contains("bDisplayAddresses"))
settings.setValue("bDisplayAddresses", false); settings.setValue("bDisplayAddresses", false);