Make the step property useful for sliders as described in #5773

(cherry picked from commit 0955371447)
This commit is contained in:
Elia Argentieri 2016-10-15 18:20:27 +02:00 committed by Rémi Verschelde
parent 221346521c
commit e3dc319f78

View file

@ -136,16 +136,25 @@ double Range::get_page() const {
}
void Range::set_unit_value(double p_value) {
double v;
if (shared->exp_unit_value && get_min()>0) {
double exp_min = Math::log(get_min())/Math::log(2);
double exp_max = Math::log(get_max())/Math::log(2);
double v = Math::pow(2,exp_min+(exp_max-exp_min)*p_value);
set_val( v );
v = Math::pow(2,exp_min+(exp_max-exp_min)*p_value);
} else {
set_val( (get_max() - get_min()) * p_value + get_min() );
double percent = (get_max() - get_min()) * p_value;
if (get_step() > 0) {
double steps = round(percent / get_step());
v = steps * get_step() + get_min();
} else {
v = percent + get_min();
}
}
set_val( v );
}
double Range::get_unit_value() const {