map[QString::number((pos < 0 ? m_keyframeWidget->getPosition() : pos) + m_in).rightJustified(log10((double)m_out) + 1, '0')] = QVariant(vlist);
m_data = QVariant(map);
} else {
+ // timeline update is only required if the first keyframe did not exist yet
+ bool update = m_data.isNull();
m_data = QVariant(vlist);
+ if (update) {
+ keyframeTimelineFullUpdate();
+ }
}
emit valueChanged();
m_data = QVariant(map);*/
} else {
// static (only one keyframe)
- m_keyframeWidget->setKeyframes(QList <int>() << 0);
+ // make sure the first keyframe was already created
+ if (m_data.isValid()) {
+ m_keyframeWidget->setKeyframes(QList <int>() << 0);
+ }
}
}
connect(m_buttonAddDelete, SIGNAL(pressed()), m_timeline, SLOT(slotAddRemove()));
connect(m_buttonPrevious, SIGNAL(pressed()), m_timeline, SLOT(slotGoToPrev()));
connect(m_buttonNext, SIGNAL(pressed()), m_timeline, SLOT(slotGoToNext()));
+
+ // no keyframes yet
+ setEnabled(false);
}
SimpleKeyframeWidget::~SimpleKeyframeWidget()
delete m_buttonAddDelete;
delete m_buttonPrevious;
delete m_buttonNext;
- //delete m_buttonSync;
delete m_time;
}
void SimpleKeyframeWidget::setKeyframes(const QList< int >& keyframes)
{
m_timeline->setKeyframes(keyframes);
+ setEnabled(true);
}
void SimpleKeyframeWidget::addKeyframe(int pos)
blockSignals(true);
m_timeline->slotAddKeyframe(pos);
blockSignals(false);
+ setEnabled(true);
}
void SimpleKeyframeWidget::updateTimecodeFormat()