summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2019-08-20 14:11:11 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2019-08-21 11:07:22 +0300
commit540ebc9f075067f56157e9e0eea70113ab52d7e1 (patch)
tree573d660669f6b7e1bc0eac07ca258e316d023b61
parent1692287396fbbcdd622c701c5afa23388d7cdafd (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.cpp4
-rw-r--r--src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.cpp47
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