- m_gradient.setColorAt(0, QColor(200, 200, 0, 150));
- m_gradient.setColorAt(1, QColor(200, 200, 200, 120));
+Transition::Transition(const ItemInfo info, int transitiontrack, double fps, QDomElement params, bool automaticTransition) :
+ AbstractClipItem(info, QRectF(), fps),
+ m_forceTransitionTrack(false),
+ m_automaticTransition(automaticTransition),
+ m_secondClip(NULL),
+ m_transitionTrack(transitiontrack)
+{
+ setZValue(3);
+ m_info.cropDuration = info.endPos - info.startPos;
+ setPos(info.startPos.frames(fps), (qreal)(info.track * KdenliveSettings::trackheight() + KdenliveSettings::trackheight() / 3 * 2));
+
+#if QT_VERSION >= 0x040600
+ m_startAnimation = new QPropertyAnimation(this, "rect");
+ m_startAnimation->setDuration(200);
+ QRectF r(0, 0, m_info.cropDuration.frames(fps) - 0.02, (qreal)(KdenliveSettings::trackheight() / 3 + 5));
+ QRectF r2(0, 0, m_info.cropDuration.frames(fps) - 0.02, (qreal)(KdenliveSettings::trackheight() / 3 * 2 - 1));
+ m_startAnimation->setStartValue(r);
+ m_startAnimation->setEndValue(r2);
+ m_startAnimation->setEasingCurve(QEasingCurve::OutQuad);
+ m_startAnimation->start();
+#else
+ setRect(0, 0, m_info.cropDuration.frames(fps) - 0.02, (qreal)(KdenliveSettings::trackheight() / 3 * 2 - 1));
+#endif
+
+ m_info.cropStart = GenTime();
+ m_maxDuration = GenTime(600);
+
+ if (m_automaticTransition) setBrush(QColor(200, 200, 50, 100));
+ else setBrush(QColor(200, 100, 50, 100));