]> git.sesse.net Git - kdenlive/blobdiff - src/transition.cpp
cleanup keyframewidget (remove code duplications)
[kdenlive] / src / transition.cpp
index de83b5979eed6a3e593a81a98ebb84af42cb5bc4..f3af57beedc0f0c49fd68f917d084e6657f2f754 100644 (file)
@@ -70,7 +70,7 @@ Transition::Transition(const ItemInfo info, int transitiontrack, double fps, QDo
     if (m_automaticTransition) m_parameters.setAttribute("automatic", 1);
     else if (m_parameters.attribute("automatic") == "1") m_automaticTransition = true;
     if (m_parameters.attribute("force_track") == "1") m_forceTransitionTrack = true;
-    m_name = m_parameters.elementsByTagName("name").item(0).toElement().text();
+    m_name = i18n(m_parameters.elementsByTagName("name").item(0).toElement().text().toUtf8().data());
     m_secondClip = 0;
 
     //m_referenceClip->addTransition(this);
@@ -79,7 +79,9 @@ Transition::Transition(const ItemInfo info, int transitiontrack, double fps, QDo
 Transition::~Transition()
 {
     blockSignals(true);
+#if QT_VERSION >= 0x040600
     delete m_startAnimation;
+#endif
     if (scene()) scene()->removeItem(this);
 }
 
@@ -90,14 +92,16 @@ Transition *Transition::clone()
     return tr;
 }
 
-QString Transition::transitionName() const
+QString Transition::transitionTag() const
 {
-    return m_name;
+    return m_parameters.attribute("tag");
 }
 
-QString Transition::transitionTag() const
+QStringList Transition::transitionInfo() const
 {
-    return m_parameters.attribute("tag");
+    QStringList info;
+    info << m_name << m_parameters.attribute("tag") << m_parameters.attribute("id");
+    return info;
 }
 
 bool Transition::isAutomatic() const
@@ -123,7 +127,7 @@ void Transition::setTransitionParameters(const QDomElement params)
     m_parameters = params;
     if (m_parameters.attribute("force_track") == "1") setForcedTrack(true, m_parameters.attribute("transition_btrack").toInt());
     else if (m_parameters.attribute("force_track") == "0") setForcedTrack(false, m_parameters.attribute("transition_btrack").toInt());
-    m_name = m_parameters.elementsByTagName("name").item(0).toElement().text();
+    m_name = i18n(m_parameters.elementsByTagName("name").item(0).toElement().text().toUtf8().data());
     update();
 }
 
@@ -209,6 +213,10 @@ int Transition::type() const
 //virtual
 QVariant Transition::itemChange(GraphicsItemChange change, const QVariant &value)
 {
+    if (change == QGraphicsItem::ItemSelectedChange) {
+        if (value.toBool()) setZValue(10);
+        else setZValue(3);
+    }
     if (change == ItemPositionChange && scene()) {
         // calculate new position.
         QPointF newPos = value.toPointF();
@@ -229,6 +237,7 @@ QVariant Transition::itemChange(GraphicsItemChange change, const QVariant &value
 
         if (!items.isEmpty()) {
             for (int i = 0; i < items.count(); i++) {
+                if (!items.at(i)->isEnabled()) continue;
                 if (items.at(i)->type() == type()) {
                     // Collision! Don't move.
                     //kDebug()<<"/// COLLISION WITH ITEM: "<<items.at(i)->boundingRect()<<", POS: "<<items.at(i)->pos()<<", ME: "<<newPos;