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> 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;
}
}

View file

@ -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

View file

@ -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);