diff options
author | Cozz Lovan <cozzlovan@yahoo.com> | 2014-02-02 04:12:30 +0100 |
---|---|---|
committer | Cozz Lovan <cozzlovan@yahoo.com> | 2014-02-02 07:57:50 +0100 |
commit | b920148258ac78d975ded66eebfa8c0c89de3b9b (patch) | |
tree | 194151f27cb88b2d68623085f3dc48267e57dbab /src/qt/bitcoinamountfield.cpp | |
parent | 15ec451554b5889a92651b9fe71bf01047ba9fc3 (diff) |
[Qt] Improve single step in bitcoinamountfield
Diffstat (limited to 'src/qt/bitcoinamountfield.cpp')
-rw-r--r-- | src/qt/bitcoinamountfield.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index c1f2f18d45..d452d4aab9 100644 --- a/src/qt/bitcoinamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -19,12 +19,12 @@ BitcoinAmountField::BitcoinAmountField(QWidget *parent) : amount(0), currentUnit(-1) { + nSingleStep = 100000; // satoshis + amount = new QDoubleSpinBox(this); amount->setLocale(QLocale::c()); - amount->setDecimals(8); amount->installEventFilter(this); amount->setMaximumWidth(170); - amount->setSingleStep(0.001); QHBoxLayout *layout = new QHBoxLayout(this); layout->addWidget(amount); @@ -159,11 +159,7 @@ void BitcoinAmountField::unitChanged(int idx) // Set max length after retrieving the value, to prevent truncation amount->setDecimals(BitcoinUnits::decimals(currentUnit)); amount->setMaximum(qPow(10, BitcoinUnits::amountDigits(currentUnit)) - qPow(10, -amount->decimals())); - - if (currentUnit == BitcoinUnits::uBTC) - amount->setSingleStep(0.01); - else - amount->setSingleStep(0.001); + amount->setSingleStep((double)nSingleStep / (double)BitcoinUnits::factor(currentUnit)); if (valid) { @@ -182,3 +178,9 @@ void BitcoinAmountField::setDisplayUnit(int newUnit) { unit->setValue(newUnit); } + +void BitcoinAmountField::setSingleStep(qint64 step) +{ + nSingleStep = step; + unitChanged(unit->currentIndex()); +} |