Fix clamping bug,
This commit is contained in:
@@ -42,6 +42,7 @@ Block::Block() :
|
|||||||
out_transition_(nullptr)
|
out_transition_(nullptr)
|
||||||
{
|
{
|
||||||
AddInput(kLengthInput, NodeValue::kRational, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable));
|
AddInput(kLengthInput, NodeValue::kRational, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable));
|
||||||
|
SetInputProperty(kLengthInput, "min", QVariant::fromValue(rational(0, 1)));
|
||||||
IgnoreInvalidationsFrom(kLengthInput);
|
IgnoreInvalidationsFrom(kLengthInput);
|
||||||
IgnoreHashingFrom(kLengthInput);
|
IgnoreHashingFrom(kLengthInput);
|
||||||
|
|
||||||
|
|||||||
@@ -190,8 +190,6 @@ void RationalSlider::ConvertValue(QVariant v)
|
|||||||
void RationalSlider::changeDisplayType()
|
void RationalSlider::changeDisplayType()
|
||||||
{
|
{
|
||||||
if (!LockDisplayType()) {
|
if (!LockDisplayType()) {
|
||||||
// Loop through the display types
|
|
||||||
//SetDisplayType(static_cast<RationalSlider::DisplayType>(((int)(display_type_) + 1) % 4));
|
|
||||||
Menu m(this);
|
Menu m(this);
|
||||||
MenuShared::instance()->AddItemsForTimeRulerMenu(&m, timebase_);
|
MenuShared::instance()->AddItemsForTimeRulerMenu(&m, timebase_);
|
||||||
MenuShared::instance()->AboutToShowTimeRulerActions();
|
MenuShared::instance()->AboutToShowTimeRulerActions();
|
||||||
|
|||||||
@@ -335,21 +335,17 @@ void SliderBase::LadderDragged(int value, double multiplier)
|
|||||||
d_v = rational::fromDouble(drag_val);
|
d_v = rational::fromDouble(drag_val);
|
||||||
temp_dragged_value_.setValue(d_v);
|
temp_dragged_value_.setValue(d_v);
|
||||||
|
|
||||||
QVariant clamped = ClampValue(temp_dragged_value_);
|
clamped_temp_dragged_value_ = ClampValue(temp_dragged_value_);
|
||||||
if (clamped.value<rational>() != temp_dragged_value_.value<rational>()) {
|
|
||||||
temp_dragged_value_ = clamped;
|
|
||||||
dragged_diff_ = (temp_dragged_value_.value<rational>() - value_.value<rational>()).toDouble();
|
|
||||||
}
|
|
||||||
|
|
||||||
UpdateLabel(temp_dragged_value_);
|
UpdateLabel(temp_dragged_value_);
|
||||||
|
|
||||||
drag_ladder_->SetValue(ValueToString(temp_dragged_value_));
|
drag_ladder_->SetValue(ValueToString(clamped_temp_dragged_value_));
|
||||||
|
|
||||||
if (!Config::Current()[QStringLiteral("UseSliderLadders")].toBool()) {
|
if (!Config::Current()[QStringLiteral("UseSliderLadders")].toBool()) {
|
||||||
RepositionLadder();
|
RepositionLadder();
|
||||||
}
|
}
|
||||||
|
|
||||||
emit ValueChanged(temp_dragged_value_);
|
emit ValueChanged(clamped_temp_dragged_value_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user