Full support for other units, add configuration option for default unit (used when displaying amounts)

This commit is contained in:
Wladimir J. van der Laan
2011-07-29 14:36:35 +02:00
parent b5b1d1a66b
commit ee014e5b10
19 changed files with 152 additions and 34 deletions

View File

@@ -1,5 +1,6 @@
#include "bitcoinamountfield.h"
#include "qvalidatedlineedit.h"
#include "qvaluecombobox.h"
#include "bitcoinunits.h"
#include <QLabel>
@@ -8,6 +9,7 @@
#include <QHBoxLayout>
#include <QKeyEvent>
#include <QComboBox>
#include <QDebug>
BitcoinAmountField::BitcoinAmountField(QWidget *parent):
QWidget(parent), amount(0), decimals(0), currentUnit(-1)
@@ -27,7 +29,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent):
layout->addWidget(amount);
layout->addWidget(new QLabel(QString(".")));
layout->addWidget(decimals);
unit = new QComboBox(this);
unit = new QValueComboBox(this);
unit->setModel(new BitcoinUnits(this));
layout->addWidget(unit);
layout->addStretch(1);
@@ -78,7 +80,7 @@ bool BitcoinAmountField::validate()
decimals->setValid(false);
valid = false;
}
if(!BitcoinUnits::parse(BitcoinUnits::BTC, text(), 0))
if(!BitcoinUnits::parse(currentUnit, text(), 0))
{
setValid(false);
valid = false;
@@ -169,6 +171,9 @@ void BitcoinAmountField::unitChanged(int idx)
setText("");
}
setValid(true);
}
void BitcoinAmountField::setDisplayUnit(int newUnit)
{
unit->setValue(newUnit);
}