forked from qt-creator/qt-creator
QmlDesigner: Use QmlTimeline::insertKeyframe in TimelineView
Change-Id: I22df18aba407b9c49a3aceb46169fd90efe73942 Reviewed-by: Knud Dollereder <knud.dollereder@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -430,23 +430,11 @@ void TimelineView::customNotification(const AbstractView * /*view*/,
|
||||
|
||||
void TimelineView::insertKeyframe(const ModelNode &target, const PropertyName &propertyName)
|
||||
{
|
||||
QmlTimeline timeline = widget()->graphicsScene()->currentTimeline();
|
||||
ModelNode targetNode = target;
|
||||
if (timeline.isValid() && targetNode.isValid()
|
||||
&& QmlObjectNode::isValidQmlObjectNode(targetNode)) {
|
||||
executeInTransaction("TimelineView::insertKeyframe", [=, &timeline, &targetNode]() {
|
||||
targetNode.validId();
|
||||
QmlTimeline timeline = currentTimeline();
|
||||
|
||||
QmlTimelineKeyframeGroup timelineFrames(
|
||||
timeline.keyframeGroup(targetNode, propertyName));
|
||||
|
||||
QTC_ASSERT(timelineFrames.isValid(), return );
|
||||
|
||||
const qreal frame
|
||||
= timeline.modelNode().auxiliaryData("currentFrame@NodeInstance").toReal();
|
||||
const QVariant value = QmlObjectNode(targetNode).instanceValue(propertyName);
|
||||
|
||||
timelineFrames.setValue(value, frame);
|
||||
if (timeline.isValid() && target.isValid() && QmlObjectNode::isValidQmlObjectNode(target)) {
|
||||
executeInTransaction("TimelineView::insertKeyframe", [=, &timeline, &target]() {
|
||||
timeline.insertKeyframe(target, propertyName);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user