reimplemented zooming controls

This commit is contained in:
itsmattkc
2019-08-15 11:39:07 +10:00
parent b4529205b9
commit fb7c7f1bdb
15 changed files with 142 additions and 9 deletions
+20 -4
View File
@@ -42,10 +42,8 @@ TimelinePanel::TimelinePanel(QWidget *parent) :
connect(view_->horizontalScrollBar(), SIGNAL(valueChanged(int)), ruler_, SLOT(SetScroll(int)));
connect(ruler_, SIGNAL(TimeChanged(const int64_t&)), view_, SLOT(SetTime(const int64_t&)));
// FIXME: Test code
ruler_->SetScale(90.0);
view_->SetScale(90.0);
// End test code
// FIXME Magic number
SetScale(90.0);
Retranslate();
}
@@ -78,6 +76,16 @@ TimelineView *TimelinePanel::view()
return view_;
}
void TimelinePanel::ZoomIn()
{
SetScale(scale_ * 2);
}
void TimelinePanel::ZoomOut()
{
SetScale(scale_ * 0.5);
}
void TimelinePanel::changeEvent(QEvent *e)
{
if (e->type() == QEvent::LanguageChange) {
@@ -91,3 +99,11 @@ void TimelinePanel::Retranslate()
SetTitle(tr("Timeline"));
SetSubtitle(tr("(none)"));
}
void TimelinePanel::SetScale(double scale)
{
scale_ = scale;
ruler_->SetScale(scale_);
view_->SetScale(scale_);
}
+8
View File
@@ -41,6 +41,10 @@ public:
TimelineView* view();
virtual void ZoomIn() override;
virtual void ZoomOut() override;
protected:
virtual void changeEvent(QEvent* e) override;
@@ -49,9 +53,13 @@ signals:
private:
void Retranslate();
void SetScale(double scale);
TimelineView* view_;
TimeRuler* ruler_;
double scale_;
};
#endif // TIMELINE_PANEL_H
+10
View File
@@ -34,6 +34,16 @@ ViewerPanel::ViewerPanel(QWidget *parent) :
Retranslate();
}
void ViewerPanel::ZoomIn()
{
viewer_->SetScale(viewer_->scale() * 2);
}
void ViewerPanel::ZoomOut()
{
viewer_->SetScale(viewer_->scale() * 0.5);
}
void ViewerPanel::SetTexture(GLuint tex)
{
viewer_->SetTexture(tex);
+4
View File
@@ -34,6 +34,10 @@ class ViewerPanel : public PanelWidget {
public:
ViewerPanel(QWidget* parent);
virtual void ZoomIn() override;
virtual void ZoomOut() override;
public slots:
/**
* @brief Set the texture to draw and draw it