From c15b7340114ac472e0ddb6143079b03e4227d7de Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 29 Nov 2020 16:56:00 +1100 Subject: [PATCH] timebasedwidget: show workarea and markers on scrollbar --- app/widget/resizablescrollbar/CMakeLists.txt | 4 +++- app/widget/timebased/timebased.cpp | 8 ++++++-- app/widget/timebased/timebased.h | 6 +++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/widget/resizablescrollbar/CMakeLists.txt b/app/widget/resizablescrollbar/CMakeLists.txt index 0eb171a67..ee97e209d 100644 --- a/app/widget/resizablescrollbar/CMakeLists.txt +++ b/app/widget/resizablescrollbar/CMakeLists.txt @@ -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 ) diff --git a/app/widget/timebased/timebased.cpp b/app/widget/timebased/timebased.cpp index 15a8acb7d..90296bd64 100644 --- a/app/widget/timebased/timebased.cpp +++ b/app/widget/timebased/timebased.cpp @@ -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(); diff --git a/app/widget/timebased/timebased.h b/app/widget/timebased/timebased.h index 49e3b7125..ddca58835 100644 --- a/app/widget/timebased/timebased.h +++ b/app/widget/timebased/timebased.h @@ -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_;