summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp')
-rw-r--r--src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp b/src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp
index d06ea3c495..72bdf4be13 100644
--- a/src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp
+++ b/src/plugins/qmldesigner/components/curveeditor/curveeditor.cpp
@@ -113,9 +113,20 @@ QToolBar *CurveEditor::createToolBar()
durationWidget->setLayout(durationBox);
bar->addWidget(durationWidget);
+ auto *cfspin = new QSpinBox;
+ cfspin->setMinimum(0);
+ cfspin->setMaximum(std::numeric_limits<int>::max());
+
+ auto intSignal = static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged);
+ connect(cfspin, intSignal, [this](int val) { m_view->setCurrentFrame(val, false); });
+ connect(m_view, &GraphicsView::notifyFrameChanged, [cfspin](int val) {
+ QSignalBlocker blocker(cfspin);
+ cfspin->setValue(val);
+ });
+
auto *positionBox = new QHBoxLayout;
positionBox->addWidget(new QLabel(tr("Current Frame")));
- positionBox->addWidget(new QSpinBox);
+ positionBox->addWidget(cfspin);
auto *positionWidget = new QWidget;
positionWidget->setLayout(positionBox);
bar->addWidget(positionWidget);