aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKnud Dollereder <knud.dollereder@qt.io>2019-08-12 15:04:32 +0200
committerKnud Dollereder <knud.dollereder@qt.io>2019-08-12 13:13:47 +0000
commit31effafb60c572b15bba23caacf4f0115cf300c7 (patch)
tree9acc3a68f97646f7ae77002572df178917d09e29 /src
parente0512f18a42473dc61e7b07bbbdd0214f310976a (diff)
Add context-menu to insert a keyframe for all visible curves
Change-Id: If86550bb9b8e73ff22fdbe3c2ffc579c35c505da Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp13
-rw-r--r--src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.h2
2 files changed, 12 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp
index 954e0401c4..bfa836137f 100644
--- a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp
+++ b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.cpp
@@ -299,6 +299,13 @@ void GraphicsView::contextMenuEvent(QContextMenuEvent *event)
QAction *openEditorAction = menu.addAction(tr("Open Style Editor"));
connect(openEditorAction, &QAction::triggered, openStyleEditor);
+ menu.addSeparator();
+ auto insertKeyframes = [this, event]() {
+ insertKeyframe(globalToRaster(event->globalPos()).x(), true);
+ };
+ QAction *insertKeyframeAction = menu.addAction(tr("Insert Keyframe"));
+ connect(insertKeyframeAction, &QAction::triggered, insertKeyframes);
+
menu.exec(event->globalPos());
}
@@ -400,12 +407,14 @@ void GraphicsView::applyZoom(double x, double y, const QPoint &pivot)
}
}
-void GraphicsView::insertKeyframe(double time)
+void GraphicsView::insertKeyframe(double time, bool allVisibleCurves)
{
const auto itemList = items();
for (auto *item : itemList) {
if (auto *curveItem = qgraphicsitem_cast<CurveItem *>(item)) {
- if (curveItem->isUnderMouse())
+ if (allVisibleCurves)
+ curveItem->insertKeyframeByTime(std::round(time));
+ else if (curveItem->isUnderMouse())
curveItem->insertKeyframeByTime(std::round(time));
}
}
diff --git a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.h b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.h
index 15c8aeb75d..01dd0ca026 100644
--- a/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.h
+++ b/src/plugins/qmldesigner/components/curveeditor/detail/graphicsview.h
@@ -124,7 +124,7 @@ protected:
private:
void applyZoom(double x, double y, const QPoint &pivot = QPoint());
- void insertKeyframe(double time);
+ void insertKeyframe(double time, bool allVisibleCurves = false);
void deleteSelectedKeyframes();