X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftitledocument.cpp;h=1c67206c8dbe1a38a8415254474f8e35807fb7b5;hb=c05150ef694bd7332c068fc2f93329fd13ea7071;hp=6ab7d19e9cf89ff83b494f868a30b40cf1ab1f10;hpb=0eec75fae8e6c65857a4ed2abd966c901b05bfab;p=kdenlive diff --git a/src/titledocument.cpp b/src/titledocument.cpp index 6ab7d19e..1c67206c 100644 --- a/src/titledocument.cpp +++ b/src/titledocument.cpp @@ -182,6 +182,7 @@ QDomDocument TitleDocument::xml(QGraphicsRectItem* startv, QGraphicsRectItem* en if (!t->data(100).isNull()) { QStringList effectParams = t->data(100).toStringList(); QString effectName = effectParams.takeFirst(); + content.setAttribute("textwidth", t->sceneBoundingRect().width()); content.setAttribute(effectName, effectParams.join(";")); } @@ -230,7 +231,8 @@ QDomDocument TitleDocument::xml(QGraphicsRectItem* startv, QGraphicsRectItem* en if (blur) { effect.setAttribute("type", "blur"); effect.setAttribute("blurradius", blur->blurRadius()); - } else { + } /*else { + //WARNING:those effects are anyways broken because they use QPixmaps which are not safe for MLT's threaded workflow QGraphicsDropShadowEffect *shadow = static_cast (eff); if (shadow) { effect.setAttribute("type", "shadow"); @@ -238,7 +240,7 @@ QDomDocument TitleDocument::xml(QGraphicsRectItem* startv, QGraphicsRectItem* en effect.setAttribute("xoffset", shadow->xOffset()); effect.setAttribute("yoffset", shadow->yOffset()); } - } + }*/ e.appendChild(effect); } #endif @@ -284,13 +286,15 @@ QColor TitleDocument::getBackgroundColor() } -bool TitleDocument::saveDocument(const KUrl& url, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int out, bool embed) +bool TitleDocument::saveDocument(const KUrl& url, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int duration, bool embed) { if (!m_scene) return false; QDomDocument doc = xml(startv, endv, embed); - doc.documentElement().setAttribute("out", out); + doc.documentElement().setAttribute("duration", duration); + // keep some time for backwards compatibility (opening projects with older versions) - 26/12/12 + doc.documentElement().setAttribute("out", duration); KTemporaryFile tmpfile; if (!tmpfile.open()) { kWarning() << "///// CANNOT CREATE TMP FILE in: " << tmpfile.fileName(); @@ -308,7 +312,7 @@ bool TitleDocument::saveDocument(const KUrl& url, QGraphicsRectItem* startv, QGr return KIO::NetAccess::upload(tmpfile.fileName(), url, 0); } -int TitleDocument::loadFromXml(QDomDocument doc, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int *out, const QString& projectpath) +int TitleDocument::loadFromXml(QDomDocument doc, QGraphicsRectItem* startv, QGraphicsRectItem* endv, int *duration, const QString& projectpath) { m_projectPath = projectpath; QDomNodeList titles = doc.elementsByTagName("kdenlivetitle"); @@ -334,10 +338,12 @@ int TitleDocument::loadFromXml(QDomDocument doc, QGraphicsRectItem* startv, QGra } } //TODO: get default title duration instead of hardcoded one - if (doc.documentElement().hasAttribute("out")) - *out = doc.documentElement().attribute("out").toInt(); + if (doc.documentElement().hasAttribute("duration")) + *duration = doc.documentElement().attribute("duration").toInt(); + else if (doc.documentElement().hasAttribute("out")) + *duration = doc.documentElement().attribute("out").toInt(); else - *out = 125; + *duration = 125; int maxZValue = 0; if (titles.size()) {