#include "bitcoinamountfield.h"
#include "qvalidatedlineedit.h"
+#include "bitcoinunits.h"
#include <QLabel>
#include <QLineEdit>
QWidget(parent), amount(0), decimals(0)
{
amount = new QValidatedLineEdit(this);
- amount->setValidator(new QRegExpValidator(QRegExp("[0-9]+"), this));
+ amount->setValidator(new QRegExpValidator(QRegExp("[0-9]*"), this));
amount->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
amount->installEventFilter(this);
amount->setMaximumWidth(100);
layout->addWidget(amount);
layout->addWidget(new QLabel(QString(".")));
layout->addWidget(decimals);
- layout->addWidget(new QLabel(QString(" BTC")));
+ layout->addWidget(new QLabel(QString(" ") + BitcoinUnits::name(BitcoinUnits::BTC)));
layout->addStretch(1);
layout->setContentsMargins(0,0,0,0);
bool BitcoinAmountField::validate()
{
bool valid = true;
- if(amount->text().isEmpty())
+ if(decimals->text().isEmpty())
{
- amount->setValid(false);
+ decimals->setValid(false);
valid = false;
}
- if(decimals->text().isEmpty())
+ if(!BitcoinUnits::parse(BitcoinUnits::BTC, text(), 0))
{
+ amount->setValid(false);
decimals->setValid(false);
valid = false;
}
+
return valid;
}
QString BitcoinAmountField::text() const
{
- if(amount->text().isEmpty() || decimals->text().isEmpty())
+ if(decimals->text().isEmpty())
{
return QString();
}