aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/components/timelineeditor
diff options
context:
space:
mode:
authorKnud Dollereder <knud.dollereder@qt.io>2020-03-24 15:05:28 +0100
committerKnud Dollereder <knud.dollereder@qt.io>2020-03-25 16:11:28 +0000
commit20e95f2f197d4941675e34e6999d804396e1b7ec (patch)
treeefa973d510c0fa18944038bde8ce0076c960f8c3 /src/plugins/qmldesigner/components/timelineeditor
parent540ea616ecabede679fca9e10dd27dec33f29936 (diff)
Add the ability to unify keyframe handles
Task-number: QDS-568 Change-Id: I5b102423e8e166d41edf199c42305cee102e8b54 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/components/timelineeditor')
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/animationcurveeditormodel.cpp13
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.cpp5
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.h2
-rw-r--r--src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp5
4 files changed, 18 insertions, 7 deletions
diff --git a/src/plugins/qmldesigner/components/timelineeditor/animationcurveeditormodel.cpp b/src/plugins/qmldesigner/components/timelineeditor/animationcurveeditormodel.cpp
index 023200f494..077b467c0e 100644
--- a/src/plugins/qmldesigner/components/timelineeditor/animationcurveeditormodel.cpp
+++ b/src/plugins/qmldesigner/components/timelineeditor/animationcurveeditormodel.cpp
@@ -230,6 +230,19 @@ DesignTools::AnimationCurve AnimationCurveEditorModel::createDoubleCurve(
{
std::vector<DesignTools::Keyframe> keyframes = createKeyframes(group.keyframePositions());
keyframes = resolveSmallCurves(keyframes);
+
+ QString str;
+ ModelNode target = group.modelNode();
+ if (target.hasAuxiliaryData("unified"))
+ str = target.auxiliaryData("unified").toString();
+
+ if (str.size() == static_cast<int>(keyframes.size())) {
+ for (int i = 0; i < str.size(); ++i) {
+ if (str.at(i) == '1')
+ keyframes[i].setUnified(true);
+ }
+ }
+
return DesignTools::AnimationCurve(keyframes);
}
diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.cpp
index 5d693f5422..dec61de19f 100644
--- a/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.cpp
+++ b/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.cpp
@@ -253,11 +253,6 @@ void TimelineToolBar::openAnimationCurveEditor()
m_dialog->show();
}
-void TimelineToolBar::updateCurve(DesignTools::PropertyTreeItem *item)
-{
- DesignTools::AnimationCurve curve = item->curve();
-}
-
void TimelineToolBar::createLeftControls()
{
auto addActionToGroup = [&](QAction *action) {
diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.h b/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.h
index 6f275484b4..1bb222b424 100644
--- a/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.h
+++ b/src/plugins/qmldesigner/components/timelineeditor/timelinetoolbar.h
@@ -91,8 +91,6 @@ public:
void openAnimationCurveEditor();
- void updateCurve(DesignTools::PropertyTreeItem *item);
-
protected:
void resizeEvent(QResizeEvent *event) override;
diff --git a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
index 508db1051b..85a68cd0bd 100644
--- a/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
+++ b/src/plugins/qmldesigner/components/timelineeditor/timelinewidget.cpp
@@ -340,6 +340,11 @@ void TimelineWidget::updateAnimationCurve(DesignTools::PropertyTreeItem *item)
groupNode.setAuxiliaryData("pinned", true);
else
groupNode.removeAuxiliaryData("pinned");
+
+ if (item->hasUnified())
+ groupNode.setAuxiliaryData("unified", item->unifyString());
+ else
+ groupNode.removeAuxiliaryData("unified");
}
auto replaceKeyframes = [&group, item, this]() {