timelinescaledobject: implemented minimum scale

Used by Viewer to keep TimeRuler and WaveformView within restrictions.
This commit is contained in:
itsmattkc
2020-03-14 22:34:23 +11:00
parent 7f2dcc8200
commit a56484d3e6
4 changed files with 31 additions and 1 deletions
+12
View File
@@ -202,6 +202,8 @@ void ViewerWidget::resizeEvent(QResizeEvent *event)
UpdateRendererParameters();
}
UpdateMinimumScale();
}
void ViewerWidget::TogglePlayPause()
@@ -324,6 +326,15 @@ int ViewerWidget::CalculateDivider()
return divider_;
}
void ViewerWidget::UpdateMinimumScale()
{
if (!GetConnectedNode()) {
return;
}
SetMinimumScale(static_cast<double>(ruler()->width()) / GetConnectedNode()->Length().toDouble());
}
void ViewerWidget::UpdateStack()
{
if (!GetConnectedNode() || GetConnectedNode()->texture_input()->IsConnected()) {
@@ -554,6 +565,7 @@ void ViewerWidget::LengthChangedSlot(const rational &length)
{
controls_->SetEndTime(Timecode::time_to_timestamp(length, timebase()));
ruler()->SetCacheStatusLength(length);
UpdateMinimumScale();
}
void ViewerWidget::ColorDisplayChanged(QAction* action)