aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp')
-rw-r--r--src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp b/src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp
index d357d555f7..4377671817 100644
--- a/src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp
+++ b/src/plugins/qmldesigner/components/curveeditor/curveeditormodel.cpp
@@ -43,6 +43,7 @@ namespace QmlDesigner {
CurveEditorModel::CurveEditorModel(QObject *parent)
: TreeModel(parent)
+ , m_hasTimeline(false)
, m_minTime(CurveEditorStyle::defaultTimeMin)
, m_maxTime(CurveEditorStyle::defaultTimeMax)
{}
@@ -98,15 +99,19 @@ CurveEditorStyle CurveEditorModel::style() const
void CurveEditorModel::setTimeline(const QmlDesigner::QmlTimeline &timeline)
{
- m_minTime = timeline.startKeyframe();
- m_maxTime = timeline.endKeyframe();
- std::vector<TreeItem *> items;
- for (auto &&target : timeline.allTargets()) {
- if (TreeItem *item = createTopLevelItem(timeline, target))
- items.push_back(item);
+ m_hasTimeline = timeline.isValid();
+
+ if (m_hasTimeline) {
+ m_minTime = timeline.startKeyframe();
+ m_maxTime = timeline.endKeyframe();
+ std::vector<TreeItem *> items;
+ for (auto &&target : timeline.allTargets()) {
+ if (TreeItem *item = createTopLevelItem(timeline, target))
+ items.push_back(item);
+ }
+ reset(items);
}
-
- reset(items);
+ emit timelineChanged(m_hasTimeline);
}
void CurveEditorModel::setCurrentFrame(int frame)