diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-02-17 12:30:21 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-02-17 12:30:30 +0100 |
commit | 7abcd1a1c9c24489ee58d9a3f5846458e8b9c72e (patch) | |
tree | 38693c24daa180264fe302ce6aaa616b0540891d | |
parent | 129429dd8f6dfcb76fa1a481b91c06e36808523d (diff) | |
parent | b920148258ac78d975ded66eebfa8c0c89de3b9b (diff) |
Merge pull request #3614
b920148 [Qt] Improve single step in bitcoinamountfield (Cozz Lovan)
-rw-r--r-- | src/qt/bitcoinamountfield.cpp | 16 | ||||
-rw-r--r-- | src/qt/bitcoinamountfield.h | 4 | ||||
-rw-r--r-- | src/qt/optionsdialog.cpp | 2 |
3 files changed, 15 insertions, 7 deletions
diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index 923b17e66d..25ad0c66af 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()); +} diff --git a/src/qt/bitcoinamountfield.h b/src/qt/bitcoinamountfield.h index d54f536b1f..521a9ed561 100644 --- a/src/qt/bitcoinamountfield.h +++ b/src/qt/bitcoinamountfield.h @@ -26,6 +26,9 @@ public: qint64 value(bool *valid=0) const; void setValue(qint64 value); + /** Set single step in satoshis **/ + void setSingleStep(qint64 step); + /** Make read-only **/ void setReadOnly(bool fReadOnly); @@ -56,6 +59,7 @@ private: QDoubleSpinBox *amount; QValueComboBox *unit; int currentUnit; + qint64 nSingleStep; void setText(const QString &text); QString text() const; diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 317e1db7d3..f4eb7ef07e 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -15,6 +15,7 @@ #include "optionsmodel.h" #include "netbase.h" +#include "main.h" #include <QDir> #include <QIntValidator> @@ -93,6 +94,7 @@ OptionsDialog::OptionsDialog(QWidget *parent) : } ui->unit->setModel(new BitcoinUnits(this)); + ui->transactionFee->setSingleStep(CTransaction::nMinTxFee); /* Widget-to-option mapper */ mapper = new MonitoredDataMapper(this); |