]> git.sesse.net Git - kdenlive/blobdiff - src/documentvalidator.cpp
Cleaning code style of Definitions.
[kdenlive] / src / documentvalidator.cpp
index a0775b5c68636589f152f2a0b594e8300c8a6463..ef8e069489f8f1bc934f83c9b6eb511f833027ee 100644 (file)
@@ -26,7 +26,7 @@
 #include <KDebug>
 #include <KMessageBox>
 #include <KApplication>
-#include <KLocale>
+#include <KLocalizedString>
 #include <KStandardDirs>
 
 #include <QFile>
@@ -40,7 +40,7 @@
 #include <locale>
 
 
-DocumentValidator::DocumentValidator(QDomDocument doc, KUrl documentUrl):
+DocumentValidator::DocumentValidator(const QDomDocument &doc, const KUrl &documentUrl):
         m_doc(doc),
         m_url(documentUrl),
         m_modified(false)
@@ -112,7 +112,13 @@ bool DocumentValidator::validate(const double currentVersion)
        QLocale tempLocale = QLocale(mlt.attribute("LC_NUMERIC"));
        version = tempLocale.toDouble(kdenliveDoc.attribute("version"), &ok);
        if (!ok) version = kdenliveDoc.attribute("version").toDouble(&ok);
-       if (!ok) kDebug()<<"// CANNOT PARSE VERSION NUMBER, ERROR!";
+       if (!ok) {
+           // Last try: replace comma with a dot
+           QString versionString = kdenliveDoc.attribute("version");
+           if (versionString.contains(',')) versionString.replace(',', '.');
+           version = versionString.toDouble(&ok);
+           if (!ok) kDebug()<<"// CANNOT PARSE VERSION NUMBER, ERROR!";
+       }
     }
     
     // Upgrade the document to the latest version
@@ -165,7 +171,7 @@ bool DocumentValidator::validate(const double currentVersion)
                         tnode = tinfo.firstChild();
                     }
 
-                    for (int i = 1; i < tracks.count(); i++) {
+                    for (int i = 1; i < tracks.count(); ++i) {
                         QString hide = tracks.at(i).toElement().attribute("hide");
                         QDomElement newTrack = m_doc.createElement("trackinfo");
                         if (hide == "video") {
@@ -283,7 +289,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
             blank_tractor.appendChild(blank_track);
 
             QDomNodeList kdenlivetracks = m_doc.elementsByTagName("kdenlivetrack");
-            for (int i = 0; i < kdenlivetracks.count(); i++) {
+            for (int i = 0; i < kdenlivetracks.count(); ++i) {
                 blank_playlist = m_doc.createElement("playlist");
                 blank_playlist.setAttribute("id", "playlist" + QString::number(i));
                 westley.insertBefore(blank_playlist, QDomNode());
@@ -295,7 +301,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
                     blank_track.setAttribute("hide", "video");
                 }
             }
-        } else for (int i = 0; i < max; i++) {
+        } else for (int i = 0; i < max; ++i) {
                 QDomNode n = playlists.at(i);
                 westley.insertBefore(n, QDomNode());
                 QDomElement pl = n.toElement();
@@ -356,7 +362,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         // audio track mixing transitions should not be added to track view, so add required attribute
         QDomNodeList transitions = m_doc.elementsByTagName("transition");
         max = transitions.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement tr = transitions.at(i).toElement();
             if (tr.attribute("combine") == "1" && tr.attribute("mlt_service") == "mix") {
                 QDomElement property = m_doc.createElement("property");
@@ -386,14 +392,14 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         }
 
         // move transitions after tracks
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             tractor.insertAfter(transitions.at(0), QDomNode());
         }
 
         // Fix filters format
         QDomNodeList entries = m_doc.elementsByTagName("entry");
         max = entries.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QString last_id;
             int effectix = 0;
             QDomNode m = entries.at(i).firstChild();
@@ -433,7 +439,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
             max = filters.count();
             QString last_id;
             int effectix = 0;
-            for (int i = 0; i < max; i++) {
+            for (int i = 0; i < max; ++i) {
                 QDomElement filt = filters.at(i).toElement();
                 QDomNamedNodeMap attrs = filt.attributes();
         QString current_id = filt.attribute("kdenlive_id");
@@ -462,7 +468,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         // fix slowmotion
         QDomNodeList producers = westley.toElement().elementsByTagName("producer");
         max = producers.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement prod = producers.at(i).toElement();
             if (prod.attribute("mlt_service") == "framebuffer") {
                 QString slowmotionprod = prod.attribute("resource");
@@ -476,7 +482,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         // This will get the xml producers:
         producers = m_doc.elementsByTagName("producer");
         max = producers.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement prod = producers.at(0).toElement();
             // add resource also as a property (to allow path correction in setNewResource())
             // TODO: will it work with slowmotion? needs testing
@@ -498,7 +504,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
                         markers.insertAfter(mark, QDomNode());
                     }
                     prod.removeChild(m);
-                } else if (prod.attribute("type").toInt() == TEXT) {
+                } else if (prod.attribute("type").toInt() == Text) {
                     // convert title clip
                     if (m.toElement().tagName() == "textclip") {
                         QDomDocument tdoc;
@@ -602,7 +608,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         } else {
             QDomNodeList wproducers = westley_element.elementsByTagName("producer");
             int kmax = wproducers.count();
-            for (int i = 0; i < kmax; i++) {
+            for (int i = 0; i < kmax; ++i) {
                 QDomElement wproducer = wproducers.at(i).toElement();
                 if (wproducer.isNull()) {
                     kWarning() << "Found producer in westley0, that was not a QDomElement";
@@ -611,7 +617,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
                 if (wproducer.attribute("id") == "black") continue;
                 // We have to do slightly different things, depending on the type
                 kDebug() << "Converting producer element with type" << wproducer.attribute("type");
-                if (wproducer.attribute("type").toInt() == TEXT) {
+                if (wproducer.attribute("type").toInt() == Text) {
                     kDebug() << "Found TEXT element in producer" << endl;
                     QDomElement kproducer = wproducer.cloneNode(true).toElement();
                     kproducer.setTagName("kdenlive_producer");
@@ -691,7 +697,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
 #endif
         QDomNodeList elements = westley.childNodes();
         max = elements.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement prod = elements.at(0).toElement();
             westley0.insertAfter(prod, QDomNode());
         }
@@ -740,7 +746,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         QString tracksOrder = infoXml.attribute("tracks");
         if (tracksOrder.isEmpty()) {
             QDomNodeList tracks = m_doc.elementsByTagName("track");
-            for (int i = 0; i < tracks.count(); i++) {
+            for (int i = 0; i < tracks.count(); ++i) {
                 QDomElement track = tracks.at(i).toElement();
                 if (track.attribute("producer") != "black_track") {
                     if (track.attribute("hide") == "video")
@@ -751,7 +757,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
             }
         }
         QDomElement tracksinfo = m_doc.createElement("tracksinfo");
-        for (int i = 0; i < tracksOrder.size(); i++) {
+        for (int i = 0; i < tracksOrder.size(); ++i) {
             QDomElement trackinfo = m_doc.createElement("trackinfo");
             if (tracksOrder.data()[i] == 'a') {
                 trackinfo.setAttribute("type", "audio");
@@ -768,7 +774,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
     if (version <= 0.82) {
         // Convert <westley />s in <mlt />s (MLT extreme makeover)
         QDomNodeList westleyNodes = m_doc.elementsByTagName("westley");
-        for (int i = 0; i < westleyNodes.count(); i++) {
+        for (int i = 0; i < westleyNodes.count(); ++i) {
             QDomElement westley = westleyNodes.at(i).toElement();
             westley.setTagName("mlt");
         }
@@ -781,7 +787,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
             QDomNodeList kproducerNodes = m_doc.elementsByTagName("kdenlive_producer");
             for (int i = 0; i < kproducerNodes.count() && convert != KMessageBox::No; ++i) {
                 QDomElement kproducer = kproducerNodes.at(i).toElement();
-                if (kproducer.attribute("type").toInt() == TEXT) {
+                if (kproducer.attribute("type").toInt() == Text) {
                     QDomDocument data;
                     data.setContent(kproducer.attribute("xmldata"));
                     QDomNodeList items = data.firstChild().childNodes();
@@ -829,7 +835,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         QDomNodeList kproducerNodes = m_doc.elementsByTagName("kdenlive_producer");
         for (int i = 0; i < kproducerNodes.count(); ++i) {
             QDomElement kproducer = kproducerNodes.at(i).toElement();
-            if (kproducer.attribute("type").toInt() == TEXT) {
+            if (kproducer.attribute("type").toInt() == Text) {
                 QString data = kproducer.attribute("xmldata");
                 QString datafile = kproducer.attribute("resource");
                 if (!datafile.endsWith(".kdenlivetitle")) {
@@ -913,7 +919,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         // Make sure we don't have avformat-novalidate producers, since it caused crashes
         QDomNodeList producers = m_doc.elementsByTagName("producer");
         int max = producers.count();
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement prod = producers.at(i).toElement();
             if (EffectsList::property(prod, "mlt_service") == "avformat-novalidate")
                 EffectsList::setProperty(prod, "mlt_service", "avformat");
@@ -938,7 +944,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
         QDomNodeList transitions = m_doc.elementsByTagName("transition");
         max = transitions.count();
         int out;
-        for (int i = 0; i < max; i++) {
+        for (int i = 0; i < max; ++i) {
             QDomElement trans = transitions.at(i).toElement();
             out = trans.attribute("out").toInt() - trans.attribute("in").toInt();
             QString geom = EffectsList::property(trans, "geometry");
@@ -969,7 +975,7 @@ bool DocumentValidator::upgrade(double version, const double currentVersion)
     return true;
 }
 
-QStringList DocumentValidator::getInfoFromEffectName(const QString oldName)
+QStringList DocumentValidator::getInfoFromEffectName(const QString &oldName)
 {
     QStringList info;
     // Returns a list to convert old Kdenlive ladspa effects
@@ -1168,7 +1174,7 @@ void DocumentValidator::updateEffects()
     }
 }
 
-bool DocumentValidator::updateEffectParameters(QDomNodeList parameters, const QScriptValue* updateRules, const double serviceVersion, const double effectVersion)
+bool DocumentValidator::updateEffectParameters(const QDomNodeList &parameters, const QScriptValue* updateRules, const double serviceVersion, const double effectVersion)
 {
     bool updated = false;
     bool isDowngrade = serviceVersion < effectVersion;