diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-08-20 14:11:11 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-08-21 11:07:22 +0300 |
commit | 540ebc9f075067f56157e9e0eea70113ab52d7e1 (patch) | |
tree | 573d660669f6b7e1bc0eac07ca258e316d023b61 | |
parent | 1692287396fbbcdd622c701c5afa23388d7cdafd (diff) |
Fix change animation type for unlinked properties
Also show fit and maximize graph buttons for the 3 curve animation types
Task-number: QT3DS-3884
Change-Id: I4f23156ac5a9c71afde1f29075351363daad794c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
-rw-r--r-- | src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTimelineContextMenu.cpp | 4 | ||||
-rw-r--r-- | src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp | 47 |
2 files changed, 26 insertions, 25 deletions
diff --git a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTimelineContextMenu.cpp b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTimelineContextMenu.cpp index c7d88be7..3d5ba3b9 100644 --- a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTimelineContextMenu.cpp +++ b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTimelineContextMenu.cpp @@ -227,7 +227,9 @@ void RowTimelineContextMenu::onAnimTypeChange(QAction *action) EAnimationType animType = EAnimationType(action->data().toInt()); Qt3DSDMInstanceHandle instance = m_rowTree->parentRow()->instance(); Qt3DSDMPropertyHandle property = m_rowTree->propBinding()->getPropertyHandle(); - Qt3DSDMSlideHandle slide = slideSys->GetAssociatedSlide(instance); + + Qt3DSDMSlideHandle slide = slideSys->IsPropertyLinked(instance, property) + ? slideSys->GetAssociatedSlide(instance) : doc->GetActiveSlide(); TCharStr propType = doc->GetStudioSystem()->GetPropertySystem()->GetName(property); std::vector<qt3dsdm::Qt3DSDMAnimationHandle> animHandles diff --git a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp index 7c50ee0d..7f000284 100644 --- a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp +++ b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp @@ -340,32 +340,31 @@ void RowTree::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, Q static const QPixmap pixMaximizeDisabled(":/images/maximize_disabled.png"); static const QPixmap pixFitDisabled(":/images/editcamera_tools_hi-00_disabled.png"); static const QPixmap pixGradientDisabled(":/images/gradient_disabled.png"); - if (m_PropBinding->animationType() == qt3dsdm::EAnimationTypeBezier) { - m_rectMaximizePropGraph.setRect(rightDividerX() - 16 * 1.2, - TimelineConstants::ROW_H, ICON_SIZE, ICON_SIZE); - painter->setPen(m_propGraphHeight != TimelineConstants::ROW_GRAPH_H && !m_locked + + m_rectMaximizePropGraph.setRect(rightDividerX() - 16 * 1.2, TimelineConstants::ROW_H, + ICON_SIZE, ICON_SIZE); + painter->setPen(m_propGraphHeight != TimelineConstants::ROW_GRAPH_H && !m_locked + ? CStudioPreferences::getBezierControlColor() + : CStudioPreferences::studioColor3()); + painter->drawRect(m_rectMaximizePropGraph); + + m_rectFitPropGraph.setRect(rightDividerX() - 16 * 2.4, TimelineConstants::ROW_H, + ICON_SIZE, ICON_SIZE); + painter->setPen(CStudioPreferences::studioColor3()); + painter->drawRect(m_rectFitPropGraph); + painter->drawPixmap(m_rectMaximizePropGraph, m_locked ? pixMaximizeDisabled + : pixMaximize); + painter->drawPixmap(m_rectFitPropGraph, m_locked ? pixFitDisabled : pixFit); + + if (m_rowTimeline->isColorProperty()) { + m_rectColorGradient.setRect(rightDividerX() - 16 * 3.6, + TimelineConstants::ROW_H, ICON_SIZE, ICON_SIZE); + painter->setPen(m_rowTimeline->m_drawColorGradient && !m_locked ? CStudioPreferences::getBezierControlColor() : CStudioPreferences::studioColor3()); - painter->drawRect(m_rectMaximizePropGraph); - - m_rectFitPropGraph.setRect(rightDividerX() - 16 * 2.4, TimelineConstants::ROW_H, - ICON_SIZE, ICON_SIZE); - painter->setPen(CStudioPreferences::studioColor3()); - painter->drawRect(m_rectFitPropGraph); - painter->drawPixmap(m_rectMaximizePropGraph, m_locked ? pixMaximizeDisabled - : pixMaximize); - painter->drawPixmap(m_rectFitPropGraph, m_locked ? pixFitDisabled : pixFit); - - if (m_rowTimeline->isColorProperty()) { - m_rectColorGradient.setRect(rightDividerX() - 16 * 3.6, - TimelineConstants::ROW_H, ICON_SIZE, ICON_SIZE); - painter->setPen(m_rowTimeline->m_drawColorGradient && !m_locked - ? CStudioPreferences::getBezierControlColor() - : CStudioPreferences::studioColor3()); - painter->drawRect(m_rectColorGradient); - painter->drawPixmap(m_rectColorGradient, m_locked ? pixGradientDisabled - : pixGradient); - } + painter->drawRect(m_rectColorGradient); + painter->drawPixmap(m_rectColorGradient, m_locked ? pixGradientDisabled + : pixGradient); } // draw channel selection buttons |