Add minimum constraint on custom fees field
This commit is contained in:
parent
61b4078a6a
commit
4775f3c752
|
@ -28,6 +28,7 @@ public:
|
|||
singleStep(COIN) // koinu
|
||||
{
|
||||
setAlignment(Qt::AlignRight);
|
||||
min = CAmount(0);
|
||||
|
||||
connect(lineEdit(), SIGNAL(textEdited(QString)), this, SIGNAL(valueChanged()));
|
||||
}
|
||||
|
@ -64,12 +65,27 @@ public:
|
|||
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;
|
||||
}
|
||||
|
||||
void stepBy(int steps)
|
||||
{
|
||||
bool valid = false;
|
||||
CAmount val = value(&valid);
|
||||
val = val + steps * singleStep;
|
||||
val = qMin(qMax(val, CAmount(0)), BitcoinUnits::maxMoney());
|
||||
val = qMin(qMax(val, min), BitcoinUnits::maxMoney());
|
||||
setValue(val);
|
||||
}
|
||||
|
||||
|
@ -126,6 +142,7 @@ public:
|
|||
|
||||
private:
|
||||
int currentUnit;
|
||||
CAmount min;
|
||||
CAmount singleStep;
|
||||
mutable QSize cachedMinimumSizeHint;
|
||||
|
||||
|
@ -140,7 +157,7 @@ private:
|
|||
bool valid = BitcoinUnits::parse(currentUnit, text, &val);
|
||||
if(valid)
|
||||
{
|
||||
if(val < 0 || val > BitcoinUnits::maxMoney())
|
||||
if(val < min || val > BitcoinUnits::maxMoney())
|
||||
valid = false;
|
||||
}
|
||||
if(valid_out)
|
||||
|
@ -227,6 +244,16 @@ void BitcoinAmountField::setText(const QString &text)
|
|||
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();
|
||||
|
|
|
@ -33,6 +33,9 @@ public:
|
|||
CAmount value(bool *value=0) const;
|
||||
void setValue(const CAmount& value);
|
||||
|
||||
void setMinimum(const int min);
|
||||
int minimum();
|
||||
|
||||
/** Set single step in satoshis **/
|
||||
void setSingleStep(const CAmount& step);
|
||||
|
||||
|
|
|
@ -882,7 +882,14 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="BitcoinAmountField" name="customFee"/>
|
||||
<widget class="BitcoinAmountField" name="customFee">
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_6">
|
||||
|
|
Loading…
Reference in a new issue