Allow ammount field to be empty so that one can specify .05 instead of

having to type the leading zero as in 0.05
This commit is contained in:
Celil 2011-07-22 16:55:50 -07:00
parent 64c991da2a
commit 2eac3a6dec
1 changed files with 6 additions and 7 deletions

View File

@ -11,7 +11,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent):
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);
@ -64,11 +64,6 @@ void BitcoinAmountField::clear()
bool BitcoinAmountField::validate()
{
bool valid = true;
if(amount->text().isEmpty())
{
amount->setValid(false);
valid = false;
}
if(decimals->text().isEmpty())
{
decimals->setValid(false);
@ -79,10 +74,14 @@ bool BitcoinAmountField::validate()
QString BitcoinAmountField::text() const
{
if(amount->text().isEmpty() || decimals->text().isEmpty())
if(decimals->text().isEmpty())
{
return QString();
}
if(amount->text().isEmpty())
{
return QString("0.") + decimals->text();
}
return amount->text() + QString(".") + decimals->text();
}