svn path=/trunk/kdenlive/; revision=3621
QWidget *wid = new QWidget(parent);
area->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
area->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
QWidget *wid = new QWidget(parent);
area->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
area->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+ area->setFrameStyle(QFrame::NoFrame);
wid->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
area->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding));
wid->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
area->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding));
m_items.append(geo);
} else if (type == "keyframe") {
// keyframe editor widget
m_items.append(geo);
} else if (type == "keyframe") {
// keyframe editor widget
- KeyframeEdit *geo = new KeyframeEdit(100, KdenliveSettings::project_fps(), 0, 100);
- //connect(geo, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
+ KeyframeEdit *geo = new KeyframeEdit(m_timecode);
+ connect(geo, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
+ geo->setupParam(100, pa.attribute("min").toInt(), pa.attribute("max").toInt(), pa.attribute("keyframes"));
//connect(geo, SIGNAL(seekToPos(int)), this, SLOT(slotSeekToPos(int)));
//geo->setupParam(pa, minFrame, maxFrame);
m_vbox->addWidget(geo);
//connect(geo, SIGNAL(seekToPos(int)), this, SLOT(slotSeekToPos(int)));
//geo->setupParam(pa, minFrame, maxFrame);
m_vbox->addWidget(geo);
- m_valueItems[paramName+"geometry"] = geo;
+ m_valueItems[paramName+"keyframe"] = geo;
m_items.append(geo);
} else if (type == "color") {
Colorval *cval = new Colorval;
m_items.append(geo);
} else if (type == "color") {
Colorval *cval = new Colorval;
-KeyframeEdit::KeyframeEdit(int maxFrame, double fps, int minValue, int maxValue, QWidget* parent) :
+KeyframeEdit::KeyframeEdit(Timecode tc, QWidget* parent) :
{
m_ui.setupUi(this);
m_ui.keyframe_list->setHeaderLabels(QStringList() << i18n("Position") << i18n("Value"));
{
m_ui.setupUi(this);
m_ui.keyframe_list->setHeaderLabels(QStringList() << i18n("Position") << i18n("Value"));
+void KeyframeEdit::setupParam(int maxFrame, int minValue, int maxValue, QString keyframes)
+{
+ m_maxFrame = maxFrame;
+ m_min = minValue;
+ m_max = maxValue;
+ m_ui.keyframe_list->clear();
+ QStringList frames = keyframes.split(";");
+ for (int i = 0; i < frames.count(); i++) {
+ QString framePos = m_timecode.getTimecodeFromFrames(frames.at(i).section(':', 0, 0).toInt());
+ m_ui.keyframe_list->addTopLevelItem(new QTreeWidgetItem(QStringList() << framePos << frames.at(i).section(':', 1, 1)));
+ }
+}
+
- explicit KeyframeEdit(int maxFrame, double fps, int minValue, int maxValue, QWidget* parent = 0);
+ explicit KeyframeEdit(Timecode tc, QWidget* parent = 0);
+ void setupParam(int maxFrame, int minValue, int maxValue, QString keyframes);
private:
Ui::KeyframeEditor_UI m_ui;
private:
Ui::KeyframeEditor_UI m_ui;
+ Timecode m_timecode;
+ int m_min;
+ int m_max;
+ int m_maxFrame;