Skip to content

Commit 89e2404

Browse files
committed
fix bug with setInputMode
1 parent 3eae75b commit 89e2404

2 files changed

Lines changed: 4 additions & 9 deletions

File tree

omodsim/controls/numericlineedit.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ NumericLineEdit::InputMode NumericLineEdit::inputMode() const
7474
///
7575
void NumericLineEdit::setInputMode(InputMode mode)
7676
{
77-
_inputMode = mode;
78-
if(!_minValue.isValid() || !_maxValue.isValid())
77+
if(!_minValue.isValid() || !_maxValue.isValid() || mode != _inputMode)
7978
{
8079
switch(mode)
8180
{
@@ -86,7 +85,7 @@ void NumericLineEdit::setInputMode(InputMode mode)
8685
break;
8786

8887
case UInt32Mode:
89-
_minValue = 0;
88+
_minValue = 0U;
9089
_maxValue = UINT_MAX;
9190
break;
9291

@@ -111,6 +110,7 @@ void NumericLineEdit::setInputMode(InputMode mode)
111110
break;
112111
}
113112
}
113+
_inputMode = mode;
114114
emit rangeChanged(_minValue, _maxValue);
115115
}
116116

omodsim/dialogs/dialogwriteholdingregister.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,41 +66,36 @@ DialogWriteHoldingRegister::DialogWriteHoldingRegister(ModbusWriteParams& writeP
6666

6767
case DataDisplayMode::FloatingPt:
6868
case DataDisplayMode::SwappedFP:
69-
ui->lineEditValue->setInputRange(-FLT_MAX, FLT_MAX);
7069
ui->lineEditValue->setInputMode(NumericLineEdit::FloatMode);
7170
ui->lineEditValue->setValue(_writeParams.Value.toFloat());
7271
break;
7372

7473
case DataDisplayMode::DblFloat:
7574
case DataDisplayMode::SwappedDbl:
76-
ui->lineEditValue->setInputRange(-DBL_MAX, DBL_MAX);
7775
ui->lineEditValue->setInputMode(NumericLineEdit::DoubleMode);
7876
ui->lineEditValue->setValue(_writeParams.Value.toDouble());
7977
break;
8078

8179
case DataDisplayMode::Int32:
8280
case DataDisplayMode::SwappedInt32:
83-
ui->lineEditValue->setInputRange(INT_MIN, INT_MAX);
81+
ui->lineEditValue->setInputMode(NumericLineEdit::Int32Mode);
8482
ui->lineEditValue->setValue(_writeParams.Value.toInt());
8583
break;
8684

8785
case DataDisplayMode::UInt32:
8886
case DataDisplayMode::SwappedUInt32:
89-
ui->lineEditValue->setInputRange(0U, UINT_MAX);
9087
ui->lineEditValue->setInputMode(NumericLineEdit::UInt32Mode);
9188
ui->lineEditValue->setValue(_writeParams.Value.toUInt());
9289
break;
9390

9491
case DataDisplayMode::Int64:
9592
case DataDisplayMode::SwappedInt64:
96-
ui->lineEditValue->setInputRange(INT64_MIN, INT64_MAX);
9793
ui->lineEditValue->setInputMode(NumericLineEdit::Int64Mode);
9894
ui->lineEditValue->setValue(_writeParams.Value.toLongLong());
9995
break;
10096

10197
case DataDisplayMode::UInt64:
10298
case DataDisplayMode::SwappedUInt64:
103-
ui->lineEditValue->setInputRange<quint64>(0, UINT64_MAX);
10499
ui->lineEditValue->setInputMode(NumericLineEdit::UInt64Mode);
105100
ui->lineEditValue->setValue(_writeParams.Value.toULongLong());
106101
break;

0 commit comments

Comments
 (0)