QmlDesigner.Timeline: Avoid phantom timeline

Task-number: QDS-285
Change-Id: I9f642363ea50a3a5120ff76b0b5b99e2396bd863
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Thomas Hartmann
2019-03-19 17:12:31 +01:00
parent 7a4d4c2c0e
commit 05e68db284

View File

@@ -87,9 +87,11 @@ void TimelineView::nodeAboutToBeRemoved(const ModelNode &removedNode)
toolBar->removeTimeline(QmlTimeline(removedNode)); toolBar->removeTimeline(QmlTimeline(removedNode));
QString currentId = toolBar->currentTimelineId(); QString currentId = toolBar->currentTimelineId();
removedNode.setAuxiliaryData("removed", true);
if (currentId.isEmpty()) if (currentId.isEmpty())
m_timelineWidget->graphicsScene()->clearTimeline(); m_timelineWidget->graphicsScene()->clearTimeline();
else if (lastId != currentId) if (lastId != currentId)
m_timelineWidget->setTimelineId(currentId); m_timelineWidget->setTimelineId(currentId);
} }
} }
@@ -397,7 +399,7 @@ QList<QmlTimeline> TimelineView::getTimelines() const
return timelines; return timelines;
for (const ModelNode &modelNode : allModelNodes()) { for (const ModelNode &modelNode : allModelNodes()) {
if (QmlTimeline::isValidQmlTimeline(modelNode)) { if (QmlTimeline::isValidQmlTimeline(modelNode) && !modelNode.hasAuxiliaryData("removed")) {
timelines.append(modelNode); timelines.append(modelNode);
} }
} }