#include "keyframeedit.h"
#include "doubleparameterwidget.h"
+#include "positionedit.h"
#include "kdenlivesettings.h"
#include <KDebug>
connect(keyframe_list, SIGNAL(itemSelectionChanged()), this, SLOT(slotAdjustKeyframeInfo()));
connect(keyframe_list, SIGNAL(cellChanged(int, int)), this, SLOT(slotGenerateParams(int, int)));
+ m_position = new PositionEdit(i18n("Position"), 0, 0, 1, tc, widgetTable);
+ ((QGridLayout*)widgetTable->layout())->addWidget(m_position, 2, 0, 1, -1);
+
m_showButtons = new QButtonGroup(this);
m_slidersLayout = new QGridLayout(param_sliders);
keyframe_list->setSelectionBehavior(QAbstractItemView::SelectRows);
connect(button_add, SIGNAL(clicked()), this, SLOT(slotAddKeyframe()));
connect(buttonKeyframes, SIGNAL(clicked()), this, SLOT(slotKeyframeMode()));
connect(buttonResetKeyframe, SIGNAL(clicked()), this, SLOT(slotResetKeyframe()));
- connect(keyframe_pos, SIGNAL(valueChanged(int)), this, SLOT(slotAdjustKeyframePos(int)));
+ connect(m_position, SIGNAL(parameterChanged(int)), this, SLOT(slotAdjustKeyframePos(int)));
connect(m_showButtons, SIGNAL(buttonClicked(int)), this, SLOT(slotUpdateVisibleParameter(int)));
//connect(keyframe_list, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotSaveCurrentParam(QTreeWidgetItem *, int)));
- keyframe_pos->setPageStep(1);
if (!keyframe_list->currentItem()) {
keyframe_list->setCurrentCell(0, 0);
keyframe_list->selectRow(0);
if (below)
max = getPos(below->row()) - 1;
- keyframe_pos->blockSignals(true);
- keyframe_pos->setRange(min, max);
- keyframe_pos->setValue(getPos(item->row()));
- keyframe_pos->blockSignals(false);
+ m_position->blockSignals(true);
+ m_position->setRange(min, max);
+ m_position->setPosition(getPos(item->row()));
+ m_position->blockSignals(false);
+
for (int col = 0; col < keyframe_list->columnCount(); col++) {
DoubleParameterWidget *doubleparam = static_cast <DoubleParameterWidget*>(m_slidersLayout->itemAtPosition(col, 0)->widget());
if (!doubleparam)
doubleparam->blockSignals(false);
}
if (KdenliveSettings::keyframeseek() && seek)
- emit seekToPos(keyframe_pos->value() - m_min);
+ emit seekToPos(m_position->getPosition() - m_min);
}
void KeyframeEdit::slotAdjustKeyframePos(int value)
else
keyframe_list->verticalHeaderItem(row)->setText(m_timecode.getTimecodeFromFrames(pos.toInt()));
}
+
+ m_position->updateTimecodeFormat();
}
void KeyframeEdit::slotKeyframeMode()
layout->addWidget(m_display);
connect(m_slider, SIGNAL(valueChanged(int)), m_display, SLOT(setValue(int)));
- connect(m_slider, SIGNAL(valueChanged(int)), this, SIGNAL(parameterChanged()));
+ connect(m_slider, SIGNAL(valueChanged(int)), this, SIGNAL(parameterChanged(int)));
connect(m_display, SIGNAL(editingFinished()), this, SLOT(slotUpdatePosition()));
m_slider->setValue(pos);
}
m_slider->blockSignals(true);
m_slider->setValue(m_display->getValue());
m_slider->blockSignals(false);
- emit parameterChanged();
+ emit parameterChanged(m_display->getValue());
+}
+
+void PositionEdit::setRange(int min, int max)
+{
+ m_slider->setRange(min, max);
+ m_display->setRange(min, max);
}
#include "positionedit.moc"
<rect>
<x>0</x>
<y>0</y>
- <width>346</width>
- <height>196</height>
+ <width>343</width>
+ <height>178</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="margin">
<number>0</number>
</property>
- <item row="3" column="0" colspan="5">
+ <item row="0" column="0" colspan="5">
<widget class="QTableWidget" name="keyframe_list">
<property name="alternatingRowColors">
<bool>true</bool>
</attribute>
</widget>
</item>
- <item row="4" column="0">
+ <item row="1" column="0">
<widget class="QToolButton" name="button_add">
<property name="text">
<string>A</string>
</property>
</widget>
</item>
- <item row="5" column="0" colspan="2">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Position</string>
- </property>
- </widget>
- </item>
- <item row="5" column="2" colspan="3">
- <widget class="QSlider" name="keyframe_pos">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
+ <item row="1" column="1">
<widget class="QToolButton" name="button_delete">
<property name="text">
<string>D</string>
</property>
</widget>
</item>
- <item row="4" column="2">
+ <item row="1" column="2">
<widget class="QToolButton" name="buttonResetKeyframe">
<property name="toolTip">
<string>Reset the parameters to their default values</string>
</property>
</widget>
</item>
- <item row="4" column="3">
+ <item row="1" column="3">
<widget class="QToolButton" name="buttonSeek">
<property name="toolTip">
<string>Seek to active keyframe</string>