timebasedwidget: show workarea and markers on scrollbar

This commit is contained in:
itsmattkc
2020-11-29 16:56:00 +11:00
parent c9323b9731
commit c15b734011
3 changed files with 12 additions and 6 deletions
+3 -1
View File
@@ -16,7 +16,9 @@
set(OLIVE_SOURCES
${OLIVE_SOURCES}
widget/resizablescrollbar/resizablescrollbar.h
widget/resizablescrollbar/resizablescrollbar.cpp
widget/resizablescrollbar/resizablescrollbar.h
widget/resizablescrollbar/resizabletimelinescrollbar.cpp
widget/resizablescrollbar/resizabletimelinescrollbar.h
PARENT_SCOPE
)
+6 -2
View File
@@ -43,7 +43,7 @@ TimeBasedWidget::TimeBasedWidget(bool ruler_text_visible, bool ruler_cache_statu
ruler_ = new TimeRuler(ruler_text_visible, ruler_cache_status_visible, this);
connect(ruler_, &TimeRuler::TimeChanged, this, &TimeBasedWidget::SetTimeAndSignal);
scrollbar_ = new ResizableScrollBar(Qt::Horizontal, this);
scrollbar_ = new ResizableTimelineScrollBar(Qt::Horizontal, this);
connect(scrollbar_, &ResizableScrollBar::RequestScale, this, &TimeBasedWidget::ScrollBarResized);
PassWheelEventsToScrollBar(ruler_);
@@ -91,6 +91,7 @@ void TimeBasedWidget::ConnectViewerNode(ViewerOutput *node)
points_ = nullptr;
ruler()->ConnectTimelinePoints(nullptr);
scrollbar_->ConnectTimelinePoints(nullptr);
}
viewer_node_ = node;
@@ -102,6 +103,7 @@ void TimeBasedWidget::ConnectViewerNode(ViewerOutput *node)
if ((points_ = ConnectTimelinePoints())) {
ruler()->ConnectTimelinePoints(points_);
scrollbar_->ConnectTimelinePoints(points_);
}
if (auto_set_timebase_) {
@@ -179,7 +181,7 @@ TimeRuler *TimeBasedWidget::ruler() const
return ruler_;
}
ResizableScrollBar *TimeBasedWidget::scrollbar() const
ResizableTimelineScrollBar *TimeBasedWidget::scrollbar() const
{
return scrollbar_;
}
@@ -189,6 +191,7 @@ void TimeBasedWidget::TimebaseChangedEvent(const rational &timebase)
TimelineScaledWidget::TimebaseChangedEvent(timebase);
ruler_->SetTimebase(timebase);
scrollbar_->SetTimebase(timebase);
emit TimebaseChanged(timebase);
}
@@ -198,6 +201,7 @@ void TimeBasedWidget::ScaleChangedEvent(const double &scale)
TimelineScaledWidget::ScaleChangedEvent(scale);
ruler_->SetScale(scale);
scrollbar_->SetScale(scale);
UpdateMaximumScroll();
+3 -3
View File
@@ -25,7 +25,7 @@
#include "node/output/viewer/viewer.h"
#include "timeline/timelinecommon.h"
#include "widget/resizablescrollbar/resizablescrollbar.h"
#include "widget/resizablescrollbar/resizabletimelinescrollbar.h"
#include "widget/timelinewidget/timelinescaledobject.h"
#include "widget/timelinewidget/view/timelineview.h"
#include "widget/timeruler/timeruler.h"
@@ -97,7 +97,7 @@ protected slots:
void SetTimeAndSignal(const int64_t& t);
protected:
ResizableScrollBar* scrollbar() const;
ResizableTimelineScrollBar* scrollbar() const;
virtual void TimebaseChangedEvent(const rational&) override;
@@ -188,7 +188,7 @@ private:
TimeRuler* ruler_;
ResizableScrollBar* scrollbar_;
ResizableTimelineScrollBar* scrollbar_;
bool auto_max_scrollbar_;