+ fix a couple of issues with InputField used in property editor
This commit is contained in:
parent
00e041ffb3
commit
bfae053eb4
|
@ -111,8 +111,9 @@ QPixmap InputField::getValidationIcon(const char* name, const QSize& size) const
|
|||
void InputField::updateText(const Base::Quantity& quant)
|
||||
{
|
||||
double dFactor;
|
||||
QString unit;
|
||||
setText(quant.getUserString(dFactor,unit));
|
||||
QString txt = quant.getUserString(dFactor,actUnitStr);
|
||||
actUnitValue = quant.getValue()/dFactor;
|
||||
setText(txt);
|
||||
}
|
||||
|
||||
void InputField::resizeEvent(QResizeEvent *)
|
||||
|
@ -517,6 +518,7 @@ void InputField::wheelEvent (QWheelEvent * event)
|
|||
val = Minimum;
|
||||
|
||||
this->setText(QString::fromUtf8("%L1 %2").arg(val).arg(actUnitStr));
|
||||
selectNumber();
|
||||
event->accept();
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,13 @@ bool PropertyModel::setData(const QModelIndex& index, const QVariant & value, in
|
|||
if (fabs(d-v) > FLT_EPSILON)
|
||||
return item->setData(value);
|
||||
}
|
||||
// Special case handling for quantities
|
||||
else if (data.canConvert<Base::Quantity>() && value.canConvert<Base::Quantity>()) {
|
||||
const Base::Quantity& val1 = data.value<Base::Quantity>();
|
||||
const Base::Quantity& val2 = value.value<Base::Quantity>();
|
||||
if (!(val1 == val2))
|
||||
return item->setData(value);
|
||||
}
|
||||
else if (data != value)
|
||||
return item->setData(value);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user