aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp')
-rw-r--r--src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp
index aca41b4d6d..e9f9050f62 100644
--- a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp
+++ b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsscene.cpp
@@ -114,9 +114,29 @@ double GraphicsScene::maximumValue() const
return limits().top();
}
+double GraphicsScene::animationRangeMin() const
+{
+ if (GraphicsView *gview = graphicsView())
+ return gview->minimumTime();
+
+ return minimumTime();
+}
+
+double GraphicsScene::animationRangeMax() const
+{
+ if (GraphicsView *gview = graphicsView())
+ return gview->maximumTime();
+
+ return maximumTime();
+}
+
QRectF GraphicsScene::rect() const
{
- return sceneRect();
+ QRectF rect;
+ for (auto *curve : curves())
+ rect |= curve->boundingRect();
+
+ return rect;
}
QVector<CurveItem *> GraphicsScene::curves() const
@@ -410,6 +430,11 @@ QRectF GraphicsScene::limits() const
}
m_limits = QRectF(QPointF(min.x(), max.y()), QPointF(max.x(), min.y()));
+ if (qFuzzyCompare(m_limits.height(), 0.0)) {
+ auto tmp = CurveEditorStyle::defaultValueRange() / 2.0;
+ m_limits.adjust(0.0, tmp, 0.0, -tmp);
+ }
+
m_dirty = false;
}
return m_limits;