UI: Fix rounding truncation

Set decimal places before value on QDoubleSpinBox to preserve precision.
This commit is contained in:
jpark37
2021-05-02 10:01:29 -07:00
committed by Jim
parent 091bdb9832
commit bd98e41ca1
+7 -7
View File
@@ -393,13 +393,6 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout,
double stepVal = obs_property_float_step(prop);
const char *suffix = obs_property_float_suffix(prop);
spin->setMinimum(minVal);
spin->setMaximum(maxVal);
spin->setSingleStep(stepVal);
spin->setValue(val);
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
spin->setSuffix(QT_UTF8(suffix));
if (stepVal < 1.0) {
int decimals = (int)(log10(1.0 / stepVal) + 0.99);
constexpr int sane_limit = 8;
@@ -408,6 +401,13 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout,
spin->setDecimals(decimals);
}
spin->setMinimum(minVal);
spin->setMaximum(maxVal);
spin->setSingleStep(stepVal);
spin->setValue(val);
spin->setToolTip(QT_UTF8(obs_property_long_description(prop)));
spin->setSuffix(QT_UTF8(suffix));
WidgetInfo *info = new WidgetInfo(this, prop, spin);
children.emplace_back(info);