QtUI code cleanup / comment improvements
[novacoin.git] / src / qt / bitcoinamountfield.cpp
index f1b4e9f..ea38cc8 100644 (file)
@@ -1,5 +1,6 @@
 #include "bitcoinamountfield.h"
 #include "qvalidatedlineedit.h"
+#include "qvaluecombobox.h"
 #include "bitcoinunits.h"
 
 #include <QLabel>
@@ -16,7 +17,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent):
     amount->setValidator(new QRegExpValidator(QRegExp("[0-9]*"), this));
     amount->setAlignment(Qt::AlignRight|Qt::AlignVCenter);
     amount->installEventFilter(this);
-    amount->setMaximumWidth(100);
+    amount->setMaximumWidth(75);
     decimals = new QValidatedLineEdit(this);
     decimals->setValidator(new QRegExpValidator(QRegExp("[0-9]+"), this));
     decimals->setAlignment(Qt::AlignLeft|Qt::AlignVCenter);
@@ -25,9 +26,9 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent):
     QHBoxLayout *layout = new QHBoxLayout(this);
     layout->setSpacing(0);
     layout->addWidget(amount);
-    layout->addWidget(new QLabel(QString(".")));
+    layout->addWidget(new QLabel(QString("<b>.</b>")));
     layout->addWidget(decimals);
-    unit = new QComboBox(this);
+    unit = new QValueComboBox(this);
     unit->setModel(new BitcoinUnits(this));
     layout->addWidget(unit);
     layout->addStretch(1);
@@ -43,7 +44,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent):
     connect(decimals, SIGNAL(textChanged(QString)), this, SIGNAL(textChanged()));
     connect(unit, SIGNAL(currentIndexChanged(int)), this, SLOT(unitChanged(int)));
 
-    // TODO: set default based on configuration
+    // Set default based on configuration
     unitChanged(unit->currentIndex());
 }
 
@@ -66,7 +67,6 @@ void BitcoinAmountField::clear()
 {
     amount->clear();
     decimals->clear();
-    // TODO: set default based on configuration
     unit->setCurrentIndex(0);
 }
 
@@ -78,7 +78,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 +169,9 @@ void BitcoinAmountField::unitChanged(int idx)
         setText("");
     }
     setValid(true);
+}
 
-
+void BitcoinAmountField::setDisplayUnit(int newUnit)
+{
+    unit->setValue(newUnit);
 }