|
|
|
@ -769,7 +769,6 @@ void KDoubleNumInput::setRange(double lower, double upper, double step,
|
|
|
|
|
int slstep = spin->lineStep();
|
|
|
|
|
if (m_slider) {
|
|
|
|
|
m_slider->setRange(slmin, slmax);
|
|
|
|
|
m_slider->setLineStep(slstep);
|
|
|
|
|
m_slider->setValue(slvalue);
|
|
|
|
|
} else {
|
|
|
|
|
m_slider = new TQSlider(slmin, slmax, slstep, slvalue,
|
|
|
|
@ -784,6 +783,7 @@ void KDoubleNumInput::setRange(double lower, double upper, double step,
|
|
|
|
|
// calculate ( slmax - slmin ) / 10 without overflowing ints:
|
|
|
|
|
int major = calcDiffByTen( slmax, slmin );
|
|
|
|
|
if ( !major ) major = slstep; // ### needed?
|
|
|
|
|
m_slider->setSteps(slstep, major);
|
|
|
|
|
m_slider->setTickInterval(major);
|
|
|
|
|
} else {
|
|
|
|
|
delete m_slider;
|
|
|
|
@ -859,6 +859,16 @@ void KDoubleNumInput::setPrefix(const TQString &prefix)
|
|
|
|
|
void KDoubleNumInput::setPrecision(int precision)
|
|
|
|
|
{
|
|
|
|
|
d->spin->setPrecision( precision );
|
|
|
|
|
if(m_slider) {
|
|
|
|
|
// upcast to base type to get the min/maxValue in int form:
|
|
|
|
|
TQSpinBox * spin = d->spin;
|
|
|
|
|
m_slider->setRange(spin->minValue(), spin->maxValue());
|
|
|
|
|
m_slider->setValue(spin->value());
|
|
|
|
|
int major = calcDiffByTen(spin->maxValue(), spin->minValue());
|
|
|
|
|
if ( !major ) major = spin->lineStep();
|
|
|
|
|
m_slider->setSteps(spin->lineStep(), major);
|
|
|
|
|
m_slider->setTickInterval(major);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
layout(true);
|
|
|
|
|
}
|
|
|
|
|