aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoinamountfield.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/bitcoinamountfield.cpp')
-rw-r--r--src/qt/bitcoinamountfield.cpp52
1 files changed, 9 insertions, 43 deletions
diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp
index aa897ab53..07946904a 100644
--- a/src/qt/bitcoinamountfield.cpp
+++ b/src/qt/bitcoinamountfield.cpp
@@ -1,4 +1,4 @@
-// Copyright (c) 2011-2014 The Bitcoin Core developers
+// Copyright (c) 2011-2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
@@ -25,10 +25,9 @@ public:
explicit AmountSpinBox(QWidget *parent):
QAbstractSpinBox(parent),
currentUnit(BitcoinUnits::BTC),
- singleStep(COIN) // koinu
+ singleStep(100000000) // koinu
{
setAlignment(Qt::AlignRight);
- min = CAmount(0);
connect(lineEdit(), SIGNAL(textEdited(QString)), this, SIGNAL(valueChanged()));
}
@@ -49,7 +48,7 @@ public:
CAmount val = parse(input, &valid);
if(valid)
{
- input = BitcoinUnits::format(currentUnit, val, false, true);
+ input = BitcoinUnits::format(currentUnit, val, false, BitcoinUnits::separatorAlways);
lineEdit()->setText(input);
}
}
@@ -61,23 +60,8 @@ public:
void setValue(const CAmount& value)
{
- lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, true));
- emit valueChanged();
- }
-
- void setMinimum(const int min)
- {
- this->min = min * COIN;
- bool valid = false;
- CAmount val = value(&valid);
- if (val < this->min) {
- setValue(this->min);
- }
- }
-
- int minimum()
- {
- return min / COIN;
+ lineEdit()->setText(BitcoinUnits::format(currentUnit, value, false, BitcoinUnits::separatorAlways));
+ Q_EMIT valueChanged();
}
void stepBy(int steps)
@@ -85,7 +69,7 @@ public:
bool valid = false;
CAmount val = value(&valid);
val = val + steps * singleStep;
- val = qMin(qMax(val, min), BitcoinUnits::maxMoney());
+ val = qMin(qMax(val, CAmount(0)), BitcoinUnits::maxMoney());
setValue(val);
}
@@ -142,7 +126,6 @@ public:
private:
int currentUnit;
- CAmount min;
CAmount singleStep;
mutable QSize cachedMinimumSizeHint;
@@ -157,7 +140,7 @@ private:
bool valid = BitcoinUnits::parse(currentUnit, text, &val);
if(valid)
{
- if(val < min || val > BitcoinUnits::maxMoney())
+ if(val < 0 || val > BitcoinUnits::maxMoney())
valid = false;
}
if(valid_out)
@@ -201,7 +184,7 @@ protected:
return rv;
}
-signals:
+Q_SIGNALS:
void valueChanged();
};
@@ -212,6 +195,7 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) :
amount(0)
{
amount = new AmountSpinBox(this);
+ amount->setLocale(QLocale::c());
amount->installEventFilter(this);
amount->setMaximumWidth(170);
@@ -236,24 +220,6 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) :
unitChanged(unit->currentIndex());
}
-void BitcoinAmountField::setText(const QString &text)
-{
- if (text.isEmpty())
- amount->clear();
- else
- amount->setValue(QLocale().toDouble(text));
-}
-
-void BitcoinAmountField::setMinimum(const int min)
-{
- amount->setMinimum(min);
-}
-
-int BitcoinAmountField::minimum()
-{
- return amount->minimum();
-}
-
void BitcoinAmountField::clear()
{
amount->clear();