]> git.sesse.net Git - kdenlive/blobdiff - src/titledocument.cpp
Improve keyframe editor, fix random keyframe sometimes inserted
[kdenlive] / src / titledocument.cpp
index f8890f712d8148fa9a75ee123fab709106bf58d9..2486b5446c7160c4bcd4025295b6d0511489ff7b 100644 (file)
@@ -98,6 +98,12 @@ QDomDocument TitleDocument::xml(QGraphicsRectItem* startv, QGraphicsRectItem* en
             content.setAttribute("font-underline", font.underline());
             content.setAttribute("font-color", colorToString(t->defaultTextColor()));
 
+            if (!t->data(100).isNull()) {
+                QStringList effectParams = t->data(100).toStringList();
+                QString effectName = effectParams.takeFirst();
+                content.setAttribute(effectName, effectParams.join(";"));
+            }
+
             // Only save when necessary.
             if (t->data(OriginXLeft).toInt() == AxisInverted) {
                 content.setAttribute("kdenlive-axis-x-inverted", t->data(OriginXLeft).toInt());
@@ -288,6 +294,12 @@ int TitleDocument::loadFromXml(QDomDocument doc, QGraphicsRectItem* startv, QGra
                         txt->setData(OriginYTop, txtProperties.namedItem("kdenlive-axis-y-inverted").nodeValue().toInt());
                     }
 
+                    // Effects
+                    if (!txtProperties.namedItem("typewriter").isNull()) {
+                        QStringList effData = QStringList() << "typewriter" << txtProperties.namedItem("typewriter").nodeValue();
+                        txt->setData(100, effData);
+                    }
+
                     gitem = txt;
                 } else if (items.item(i).attributes().namedItem("type").nodeValue() == "QGraphicsRectItem") {
                     QString rect = items.item(i).namedItem("content").attributes().namedItem("rect").nodeValue();