Allow ammount field to be empty so that one can specify .05 instead of
authorCelil <celil.kj@gmail.com>
Fri, 22 Jul 2011 23:55:50 +0000 (16:55 -0700)
committerCelil <celil.kj@gmail.com>
Fri, 22 Jul 2011 23:55:50 +0000 (16:55 -0700)
having to type the leading zero as in 0.05

src/qt/bitcoinamountfield.cpp

index f9df91b..ea0a98b 100644 (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();
 }