From 9b312abf46c94603d00a25aa1fa4b7d5fdf3c50e Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 19 Sep 2019 01:39:09 +1000 Subject: [PATCH] completed zoom tool --- app/panel/timeline/timeline.cpp | 1 + app/panel/timeline/timeline.h | 5 +++-- app/widget/timelineview/timelineview.h | 2 ++ app/widget/timelineview/tool/zoom.cpp | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/panel/timeline/timeline.cpp b/app/panel/timeline/timeline.cpp index 477aa762c..ab120be4c 100644 --- a/app/panel/timeline/timeline.cpp +++ b/app/panel/timeline/timeline.cpp @@ -40,6 +40,7 @@ TimelinePanel::TimelinePanel(QWidget *parent) : layout->addWidget(view_); connect(view_->horizontalScrollBar(), SIGNAL(valueChanged(int)), ruler_, SLOT(SetScroll(int))); + connect(view_, SIGNAL(UserSetScale(double)), this, SLOT(SetScale(double))); connect(ruler_, SIGNAL(TimeChanged(const int64_t&)), view_, SLOT(SetTime(const int64_t&))); // FIXME: Magic number diff --git a/app/panel/timeline/timeline.h b/app/panel/timeline/timeline.h index 85b7672c6..a6120b355 100644 --- a/app/panel/timeline/timeline.h +++ b/app/panel/timeline/timeline.h @@ -49,13 +49,14 @@ signals: private: void Retranslate(); - void SetScale(double scale); - TimelineView* view_; TimeRuler* ruler_; double scale_; + +private slots: + void SetScale(double scale); }; #endif // TIMELINE_PANEL_H diff --git a/app/widget/timelineview/timelineview.h b/app/widget/timelineview/timelineview.h index 673734cf7..0fbae0830 100644 --- a/app/widget/timelineview/timelineview.h +++ b/app/widget/timelineview/timelineview.h @@ -63,6 +63,8 @@ signals: void RequestReplaceBlock(Block* old, Block* replace, int track); void RequestSplitAtTime(rational time, int track); + void UserSetScale(double scale); + protected: virtual void mousePressEvent(QMouseEvent *event) override; virtual void mouseMoveEvent(QMouseEvent *event) override; diff --git a/app/widget/timelineview/tool/zoom.cpp b/app/widget/timelineview/tool/zoom.cpp index 34908b302..5da184200 100644 --- a/app/widget/timelineview/tool/zoom.cpp +++ b/app/widget/timelineview/tool/zoom.cpp @@ -39,9 +39,9 @@ void TimelineView::ZoomTool::MouseRelease(QMouseEvent *event) { if (event->modifiers() & Qt::AltModifier) { // Zoom out if the user clicks while holding Alt - parent()->SetScale(parent()->scale_ * 0.5); + emit parent()->UserSetScale(parent()->scale_ * 0.5); } else { // Otherwise zoom in - parent()->SetScale(parent()->scale_ * 2); + emit parent()->UserSetScale(parent()->scale_ * 2); } }