From 686addf144f50d5b97df35e8a7e560f45fbc389b Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Wed, 13 Mar 2019 08:55:15 +1100 Subject: [PATCH] reimplemented keyframe navigation --- ui/effectui.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ui/effectui.cpp b/ui/effectui.cpp index 45d45a50c..c88e580dc 100644 --- a/ui/effectui.cpp +++ b/ui/effectui.cpp @@ -5,6 +5,7 @@ #include "project/clip.h" #include "ui/menuhelper.h" +#include "ui/keyframenavigator.h" EffectUI::EffectUI(Effect* e) : effect_(e) @@ -24,6 +25,8 @@ EffectUI::EffectUI(Effect* e) : this, SIGNAL(TitleBarContextMenuRequested(const QPoint&))); + int maximum_column = 0; + for (int i=0;irow_count();i++) { EffectRow* row = e->row(i); @@ -40,6 +43,26 @@ EffectUI::EffectUI(Effect* e) : layout_->addWidget(widget, i, j + 1); } + + // Find maximum column to place keyframe controls + maximum_column = qMax(row->FieldCount(), maximum_column); + } + + // Create keyframe controls + maximum_column++; + + for (int i=0;irow_count();i++) { + EffectRow* row = e->row(i); + + KeyframeNavigator* nav = new KeyframeNavigator(); + + connect(nav, SIGNAL(goto_previous_key()), row, SLOT(GoToPreviousKeyframe())); + connect(nav, SIGNAL(toggle_key()), row, SLOT(ToggleKeyframe())); + connect(nav, SIGNAL(goto_next_key()), row, SLOT(GoToNextKeyframe())); + connect(nav, SIGNAL(keyframe_enabled_changed(bool)), row, SLOT(SetKeyframingEnabled(bool))); + connect(nav, SIGNAL(clicked()), row, SLOT(FocusRow())); + + layout_->addWidget(nav, i, maximum_column); } connect(enabled_check, SIGNAL(clicked(bool)), e, SLOT(FieldChanged()));