]> git.sesse.net Git - kdenlive/blobdiff - src/effectslist.cpp
const'ref
[kdenlive] / src / effectslist.cpp
index cff4941893ff030fabb476c4d5e01b14afe5ed0c..2d81f00d586144d537db572f23ace09d238d678e 100644 (file)
@@ -36,13 +36,13 @@ QDomElement EffectsList::getEffectByName(const QString & name) const
 {
     QString effectName;
     QDomNodeList effects = m_baseElement.childNodes();
-    for (int i = 0; i < effects.count(); i++) {
+    for (int i = 0; i < effects.count(); ++i) {
         QDomElement effect =  effects.at(i).toElement();
         QDomElement namenode = effect.firstChildElement("name");
         if (!namenode.isNull()) effectName = i18n(namenode.text().toUtf8().data());
         if (name == effectName) {
             QDomNodeList params = effect.elementsByTagName("parameter");
-            for (int i = 0; i < params.count(); i++) {
+            for (int i = 0; i < params.count(); ++i) {
                 QDomElement e = params.item(i).toElement();
                 if (!e.hasAttribute("value"))
                     e.setAttribute("value", e.attribute("default"));
@@ -55,10 +55,10 @@ QDomElement EffectsList::getEffectByName(const QString & name) const
 }
 
 
-void EffectsList::initEffect(QDomElement effect) const
+void EffectsList::initEffect(const QDomElement &effect) const
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
        QDomElement e = params.item(i).toElement();
        if (!e.hasAttribute("value"))
            e.setAttribute("value", e.attribute("default"));
@@ -68,7 +68,7 @@ void EffectsList::initEffect(QDomElement effect) const
 QDomElement EffectsList::getEffectByTag(const QString & tag, const QString & id) const
 {
     QDomNodeList effects = m_baseElement.childNodes();
-    for (int i = 0; i < effects.count(); i++) {
+    for (int i = 0; i < effects.count(); ++i) {
         QDomElement effect =  effects.at(i).toElement();
         if (!id.isEmpty()) {
             if (effect.attribute("id") == id) {
@@ -96,7 +96,7 @@ QDomElement EffectsList::getEffectByTag(const QString & tag, const QString & id)
 int EffectsList::hasEffect(const QString & tag, const QString & id) const
 {
     QDomNodeList effects = m_baseElement.childNodes();
-    for (int i = 0; i < effects.count(); i++) {
+    for (int i = 0; i < effects.count(); ++i) {
         QDomElement effect =  effects.at(i).toElement();
         if (!id.isEmpty()) {
             if (effect.attribute("id") == id) return effect.attribute("kdenlive_ix").toInt();
@@ -124,7 +124,7 @@ QStringList EffectsList::effectNames()
 {
     QStringList list;
     QDomNodeList effects = m_baseElement.childNodes();
-    for (int i = 0; i < effects.count(); i++) {
+    for (int i = 0; i < effects.count(); ++i) {
         QDomElement effect =  effects.at(i).toElement();
         QDomElement namenode = effect.firstChildElement("name");
         if (!namenode.isNull()) list.append(i18n(namenode.text().toUtf8().data()));
@@ -163,10 +163,10 @@ QString EffectsList::getEffectInfo(const QDomElement effect) const
 }
 
 // static
-bool EffectsList::hasKeyFrames(QDomElement effect)
+bool EffectsList::hasKeyFrames(const QDomElement &effect)
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("type") == "keyframe") return true;
     }
@@ -174,10 +174,10 @@ bool EffectsList::hasKeyFrames(QDomElement effect)
 }
 
 // static
-bool EffectsList::hasSimpleKeyFrames(QDomElement effect)
+bool EffectsList::hasSimpleKeyFrames(const QDomElement &effect)
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("type") == "simplekeyframe") return true;
     }
@@ -185,7 +185,7 @@ bool EffectsList::hasSimpleKeyFrames(QDomElement effect)
 }
 
 // static
-bool EffectsList::hasGeometryKeyFrames(QDomElement effect)
+bool EffectsList::hasGeometryKeyFrames(const QDomElement &effect)
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
     for (int i = 0; i < params.count(); ++i) {
@@ -213,7 +213,7 @@ void EffectsList::setParameter(QDomElement effect, const QString &name, const QS
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
     bool found = false;
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == name) {
             e.setAttribute("value", value);
@@ -233,10 +233,10 @@ void EffectsList::setParameter(QDomElement effect, const QString &name, const QS
 }
 
 // static
-QString EffectsList::parameter(QDomElement effect, const QString &name)
+QString EffectsList::parameter(const QDomElement &effect, const QString &name)
 {
     QDomNodeList params = effect.elementsByTagName("parameter");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == name) {
             return e.attribute("value");
@@ -251,7 +251,7 @@ void EffectsList::setProperty(QDomElement effect, const QString &name, const QSt
     QDomNodeList params = effect.elementsByTagName("property");
     // Update property if it already exists
     bool found = false;
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == name) {
             e.firstChild().setNodeValue(value);
@@ -275,7 +275,7 @@ void EffectsList::renameProperty(QDomElement effect, const QString &oldName, con
 {
     QDomNodeList params = effect.elementsByTagName("property");
     // Update property if it already exists
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == oldName) {
             e.setAttribute("name", newName);
@@ -288,7 +288,7 @@ void EffectsList::renameProperty(QDomElement effect, const QString &oldName, con
 QString EffectsList::property(QDomElement effect, const QString &name)
 {
     QDomNodeList params = effect.elementsByTagName("property");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == name) {
             return e.firstChild().nodeValue();
@@ -301,7 +301,7 @@ QString EffectsList::property(QDomElement effect, const QString &name)
 void EffectsList::removeProperty(QDomElement effect, const QString &name)
 {
     QDomNodeList params = effect.elementsByTagName("property");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name") == name) {
             effect.removeChild(params.item(i));
@@ -314,11 +314,11 @@ void EffectsList::removeProperty(QDomElement effect, const QString &name)
 void EffectsList::removeMetaProperties(QDomElement producer)
 {
     QDomNodeList params = producer.elementsByTagName("property");
-    for (int i = 0; i < params.count(); i++) {
+    for (int i = 0; i < params.count(); ++i) {
         QDomElement e = params.item(i).toElement();
         if (e.attribute("name").startsWith("meta")) {
             producer.removeChild(params.item(i));
-            i--;
+            --i;
         }
     }
 }
@@ -387,19 +387,29 @@ QDomElement EffectsList::insert(QDomElement effect)
 
 void EffectsList::updateIndexes(QDomNodeList effects, int startIndex)
 {
-    for (int i = startIndex; i < effects.count(); i++) {
+    for (int i = startIndex; i < effects.count(); ++i) {
         QDomElement listeffect =  effects.at(i).toElement();
-        listeffect.setAttribute("kdenlive_ix", i + 1);
+        listeffect.setAttribute(QLatin1String("kdenlive_ix"), i + 1);
+    }
+}
+
+void EffectsList::enableEffects(const QList <int>& indexes, bool disable)
+{
+    QDomNodeList effects = m_baseElement.childNodes();
+    QDomElement effect;
+    for (int i = 0; i < indexes.count(); ++i) {
+        effect =  effectFromIndex(effects, indexes.at(i));
+        effect.setAttribute("disable", (int) disable);
     }
 }
 
-QDomElement EffectsList::effectFromIndex(QDomNodeList effects, int ix)
+QDomElement EffectsList::effectFromIndex(const QDomNodeList &effects, int ix)
 {
     if (ix <= 0 || ix > effects.count()) return QDomElement();
     return effects.at(ix - 1).toElement();
 }
 
-void EffectsList::updateEffect(QDomElement effect)
+void EffectsList::updateEffect(const QDomElement &effect)
 {
     QDomNodeList effects = m_baseElement.childNodes();
     int ix = effect.attribute("kdenlive_ix").toInt();